¿Qué números de argumentos se utilizan para main
? ¿Qué variantes de la definición main
es posible?¿Cuántos argumentos tiene main() en C/C++
Respuesta
C++ estándar: (Source)
El C++ 98 estándar dice en el apartado 3.6.1.2
Deberá tener un tipo de retorno de tipo int , pero por lo demás su tipo es implementación definida. Todos implementaciones deberán permitir que tanto los siguientes definiciones de principal: int main() y int main (int argc, char * argv [])
Comúnmente hay 3 conjuntos de parámetros:
- no hay parámetros/
void
int argc, char ** argv
int argc, char ** argv, char ** env
Dónde argc
es el número de líneas de comando, argv
son las líneas de comandos reales, y env
son las variables de entorno.
de Windows:
Para una aplicación de Windows que tiene un punto de entrada de WinMain con una firma diferente en lugar de principal.
int WINAPI WinMain(
__in HINSTANCE hInstance,
__in HINSTANCE hPrevInstance,
__in LPSTR lpCmdLine,
__in int nCmdShow
);
OS X: (Source)
Mac OS X y Darwin tiene un cuarto parámetro que contiene información OS-suministrado arbitraria, tal como la ruta al binario ejecución:
int main(int argc, char **argv, char **envp, char **apple)
y ¿qué pasa con auxv en Linux? – osgx
@osgx: No estoy seguro si otros son posibles, pero los 3 mencionados comúnmente son compatibles con g ++ –
Nunca he entendido el requisito de 'main' return' int'. 'main' es la única función explícitamente permitida para tener un valor de retorno implícito. ¿Por qué salir de su camino para permitir que 'main' pretenda ser' void', en lugar de simplemente dejar que sea 'nulo' para empezar? –
- 1. Cadena tiene cuántos parámetros
- 2. ¿Cuántos bytes tiene una cadena
- 3. ¿Cuántos argumentos de constructor son demasiados?
- 4. ¿Cuáles son los argumentos para main() para?
- 5. Límite en el número de argumentos a main en C
- 6. ¿Cuántos ServiceContracts tiene un servicio WCF?
- 7. Determinar cuántos campos tiene un objeto Javascript
- 8. ¿Cuántos métodos predeterminados tiene una clase?
- 9. Detalles de call/cc
- 10. ¿Cuántos argumentos toma la función foldr de Haskell?
- 11. ¿Cuántos argumentos puedo pasar a una función bash?
- 12. patrones "call-cc" en Scala?
- 13. ¿Qué es call/cc?
- 14. PHP Mail, CC Field
- 15. ¿Cuántos 'núcleos CUDA' tiene cada multiprocesador de una GPU?
- 16. JQuery: ¿Cómo saber cuántos hijos tiene un elemento?
- 17. ¿Qué significa CC? = En un Makefile?
- 18. ¿Pueden los argumentos de la firma main en C++ tener los calificadores unsiged y const?
- 19. ¿Diferencia entre void main e int main?
- 20. procedimiento o función tiene demasiados argumentos especificados
- 21. Sin Main() en WPF?
- 22. Clojure -main en IntelliJ
- 23. main() función en JavaScript?
- 24. ¿Cómo regreso de func main en Go?
- 25. ¿Dónde está main() en Android?
- 26. ¿Cómo cambian DP y CC en Piet?
- 27. Continuación (call/cc) en el Esquema
- 28. En makefiles, ¿qué significan CC y LD?
- 29. Definición de main() en C
- 30. "Este constructor no tiene argumentos" error en __init__
Justo ahí en los enlaces "Relacionados": http://stackoverflow.com/questions/1621574/mains-signature-in-c Además, etiquetar es inconsistente con su título. – dmckee
añadido etiqueta 'C++' para coherencia con el título – jschmier