2009-11-01 10 views
6

¿Me puede decir cuáles son los __default__, implícita compiler options para cl.exe y para link.exe al compilar desde la línea de comandos, como:C opciones de Visual C++ de compilador por defecto

cl whatever.c 

Gracias!

actualización: Para aclarar: no estoy interesado en las opciones de línea de comandos disponibles, incluso las he vinculado a la pregunta. Lo que estoy pidiendo es una lista de opciones de línea de comando implícitas y predeterminadas que se usan cuando no se especifica ninguno y se compilan desde la línea de comando.

+0

Alerta de asunción: el comportamiento predeterminado no siempre coincide con una opción de línea de comandos. P.ej. el comportamiento predeterminado "deshabilitar análisis de código" no tiene una opción de línea de comandos; la única opción de línea de comando es '/ analyze' (Habilitar análisis de código) – MSalters

+0

@MSalters ¿Puedes dar un ejemplo alternativo? El que describió se puede lograr pasando '/ analyze-' (vea [aquí] (http://msdn.microsoft.com/en-us/library/ms173498.aspx)). – JBentley

+0

@JBentley: Fue literalmente el primero que encontré alfabéticamente (Probablemente VS2008). Todavía hay tales banderas, p. '/ GF'. – MSalters

Respuesta

0

Compruebe cl /? en link /? en la línea de comando. Creo que los valores predeterminados son diferentes para cada versión.

+0

Esto solo enumera las opciones de compilador disponibles, no las opciones de compilador predeterminadas. – user200557

+0

Hmm ... Podría haber jurado que la descripción menciona los valores predeterminados. No tengo un cuadro de Windows aquí, así que no puedo verificarlo ahora. –

1

Siempre busco google para "cl opciones".
Este es el máximo éxito actual: Compiler Command-Line Syntax (C++) [MSDN]

Como es habitual en la documentación de Microsoft, es un poco aleatorio, pero parece estar completo. Cuando una opción es la configuración predeterminada, eso se nota (aunque no de manera consistente)

+1

¿Por qué las personas no pueden diferenciar entre "opciones de línea de comando disponibles" y "opciones de línea de comando predeterminadas"? Mira, cuando compilas un archivo .c sin especificar las opciones del compilador, algunos de ellos se activarán por defecto, implícitamente. – user200557

+0

Mi respuesta se ocupó de ese problema, así que tal vez sea usted quien carece de comprensión de lectura. –

4

Parece que no hay mucha información sobre los valores predeterminados en los sitios web de Microsoft, sin embargo, Geoff Chappell parece haber hecho algo investigación sobre este tema. Aquí está el enlace:

http://www.geoffchappell.com/viewer.htm?doc=studies/msvc/cl/cl/initial.htm&tx=27

Como todos sabemos lo que dice la documentación, y lo que realmente hace el software, son dos cosas diferentes.

Para responder a la pregunta más, se puede ver qué opciones Cl pase al compilador módulos C1xx.dll y C2.dll pasando la opción/Bd a CL:

cl /Bd helloworld.cpp 

Para ver las variables de entorno que el compilador y el enlazador usan tipo:

cl /Be helloworld.cpp 
Cuestiones relacionadas