Opciones del compilador por categoría

 

Publicado: octubre de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Este artículo contiene una lista por categorías de las opciones del compilador. Para acceder a una lista alfabética, vea Opciones del compilador por orden alfabético.

Optimización

OpciónFinalidad
/O1Crea código pequeño.
/O2Crea código rápido.
/ObControla la expansión en línea.
/OdDeshabilita la optimización.
/OgDesusado. Usa optimizaciones globales.
/OiGenera funciones intrínsecas.
/OsFavorece el código pequeño.
/OtFavorece el código rápido.
/OxUsa la optimización máxima (/Ob2gity /Gs).
/OyOmite el puntero de marco. (solo x86)
/favorMuestra el código optimizado para una arquitectura especificada o para un intervalo de arquitecturas.

Generación de código

OpciónFinalidad
/archUtiliza instrucciones SSE o SSE2 en la generación de código. (solo x86)
/clrGenera un archivo de salida para ejecutar en Common Language Runtime.
/EHEspecifica el modelo del control de excepciones.
/fpEspecifica un comportamiento en punto flotante.
/GAOptimiza el código para aplicaciones Windows.
/GdUsa la convención de llamada __cdecl. (solo x86)
/GeDesusado. Activa las comprobaciones de la pila.
/GFHabilita la agrupación de cadenas.
/GhLlama a la función de enlace _penter.
/GHLlama a la función de enlace _pexit.
/GLHabilita la optimización completa del programa.
/GmHabilita la recompilación mínima.
/GRHabilita la información de tipo en tiempo de ejecución (RTTI).
/GrUsa la convención de llamada __fastcall. (solo x86)
/GSComprueba la seguridad de búfer.
/GsControla las comprobaciones de la pila.
/GTAdmite la seguridad para fibras para los datos asignados mediante almacenamiento local de subprocesos estáticos.
/guard:cfAgrega las comprobaciones de seguridad de protección de flujo de control.
/GvUsa la convención de llamada __vectorcall. (solo x86 y x64)
/GwHabilita la optimización global de los datos de todo el programa.
/GXDesusado. Habilita el control sincrónico de excepciones. Use /EH en su lugar.
/GyHabilita la vinculación en el nivel de función.
/GZDesusado. Habilita las comprobaciones rápidas. (Igual que /RTC1)
/GzUsa la convención de llamada __stdcall. (solo x86)
/homeparamsFuerza la escritura de parámetros pasados en registros en sus ubicaciones en la pila a la entrada de la función. Esta opción del compilador sólo corresponde a los compiladores de x64 (compilación nativa y cruzada).
/hotpatchCrea una imagen a la que se puede aplicar una revisión reciente.
/Qfast_transcendentalsGenera funciones transcendentales rápidas.
QIfistDesusado. Suprime la llamada de la función auxiliar _ftol cuando se requiere la conversión de un tipo de punto flotante a un tipo entero. (solo x86)
/Qimprecise_fwaitsQuita los comandos fwait del interior de los bloques try.
/QparHabilita la ejecución en paralelo automática de bucles.
/Qpar-reportHabilita los niveles de informe para la ejecución en paralelo automática.
/Qsafe_fp_loadsUtiliza instrucciones de movimiento de enteros para valores de punto flotante y deshabilita ciertas optimizaciones de carga de punto flotante.
/Qvec-report (Nivel de información de vectorizador automático)Habilita los niveles de informe para la vectorización automática.
/RTCHabilita la comprobación de errores en tiempo de ejecución.
/volatileSelecciona cómo se interpreta la palabra clave volatile.

Archivos de resultados

OpciónFinalidad
/docProcesa los comentarios de documentación generando un archivo XML.
/FAConfigura un archivo de lista de ensamblados.
/FaCrea un archivo de lista de ensamblado.
/FdCambia el nombre del archivo de la base de datos de programa.
/FeCambia el nombre del archivo ejecutable.
/FiEspecifica el nombre del archivo de salida preprocesado.
/FmCrea un archivo de asignaciones.
/FoCrea un archivo de objeto.
/FpEspecifica el nombre de un archivo de encabezado precompilado.
/FR /FrGenera archivos de explorador.

Preprocesador

OpciónFinalidad
/AIEspecifica un directorio de búsqueda para resolver las referencias a archivos que se transfieren a la directiva #using.
/CConserva los comentarios durante el preprocesamiento
/DDefine constantes y macros.
/ECopia los resultados del preprocesador a resultados estándar.
/EPCopia los resultados del preprocesador a resultados estándar.
/FIPreprocesa el archivo de inclusión especificado.
/FUFuerza el uso de un nombre de archivo, como si se hubiera transferido a la directiva #using.
/FxCombina el código insertado con el archivo de código fuente.
/IBusca archivos de inclusión en un directorio.
/PEscribe los resultados del preprocesador en un archivo.
/UQuita una macro predefinida.
/uQuita todas las macros predefinidas.
/XOmite el directorio de archivos de inclusión estándar.

Lenguaje

OpciónFinalidad
/openmpHabilita #pragma omp en el código fuente.
/vdSuprime o habilita los miembros de la clase vtordisp ocultos.
/vmbUsa la base más apropiada para los punteros a miembros.
/vmgUsa generalidad completa para los punteros a miembros.
/vmmDeclara la herencia múltiple.
/vmsDeclara la herencia simple.
/vmvDeclara la herencia virtual.
/Z7Genera información de depuración compatible con C 7.0.
/ZaDeshabilita las extensiones del lenguaje
/ZcEspecifica un comportamiento estándar bajo /Ze.
/ZeDesusado. Habilita las extensiones de lenguaje.
/ZIIncluye la información de depuración en una base de datos de programa compatible con Editar y continuar. (solo x86)
/ZiGenera información de depuración completa.
/ZlQuita el nombre de la biblioteca predeterminada del archivo .obj.
/Zp nEmpaqueta los miembros de la estructura.
/ZsComprueba únicamente la sintaxis.
/ZWGenera un archivo de salida para ejecutarse en Windows en tiempo de ejecución.

Vinculación

OpciónFinalidad
/FEstablece el tamaño de la pila.
/LDCrea una biblioteca de vínculos dinámicos.
/LDdCrea una biblioteca de vínculos dinámicos para depuración.
/linkPasa la opción especificada a LINK.
/LNCrea un módulo MSIL.
/MDCompila para crear una DLL multiproceso mediante MSVCRT.lib.
/MDdCompila para crear una DLL multiproceso para depuración mediante MSVCRTD.lib.
/MTCompila para crear un archivo ejecutable multiproceso mediante LIBCMT.lib.
/MTdCompila para crear un archivo ejecutable multiproceso para depuración mediante LIBCMTD.lib.

Encabezado precompilado

OpciónFinalidad
/Y-Omite todas las demás opciones del compilador de encabezado precompilado en la generación actual.
/YcCrea un archivo de encabezado precompilado.
/YdColoca información completa de depuración en todos los archivos de objeto.
/YuUsa un archivo de encabezado precompilado durante la compilación.

Varios

OpciónFinalidad
/?Enumera las opciones del compilador.
@Especifica un archivo de respuesta.
/analyzePermite el análisis de código
/bigobjAumenta el número de secciones direccionables en un archivo .obj.
/cCompila sin vincular.
/cgthreadsEspecifica el número de subprocesos de cl.exe que se deben usar para la optimización y la generación de código.
/errorReportPermite proporcionar directamente al equipo de Visual C++ información sobre los errores internos del compilador.
/FCMuestra la ruta de acceso completa de archivos de código fuente pasados a cl.exe en texto de diagnóstico.
/FSFuerza que las operaciones de escritura en el archivo de base de datos de programa (PDB) se serialicen mediante MSPDBSRV.EXE.
/HDesusado. Restringe la longitud de los nombres externos (públicos).
/HELPEnumera las opciones del compilador.
/JCambia el tipo char predeterminado.
/kernelEl compilador y el vinculador producirán un binario que se puede ejecutar en el kernel de Windows.
/MPCompila varios archivos de código fuente simultáneamente.
/nologoSuprime la presentación de la pancarta de inicio de sesión.
/sdlHabilita características de seguridad y advertencias adicionales.
/showIncludesMuestra una lista de todos los archivos de inclusión durante la compilación.
/Tc /TCEspecifica un archivo de código fuente de C.
/Tp /TPEspecifica un archivo de código fuente de C++.
/VDesusado. Establece la cadena de versión.
/wDeshabilita todas las advertencias.
/W0, /W1, /W2, /W3, /W4Establece el nivel de advertencia de salida.
/w1, /w2, /w3, /w4Establece el nivel de advertencia para la advertencia especificada.
/WallHabilita todas las advertencias, incluso las que están deshabilitadas de forma predeterminada.
/wdDeshabilita la advertencia especificada.
/weTrata la advertencia especificada como un error.
/WLHabilita los diagnósticos de una línea para los mensajes de error y de advertencia cuando se compila código fuente de C++ desde la línea de comandos.
/woMuestra la advertencia especificada solo una vez.
/Wp64Obsoleto. Detecta problemas de portabilidad de 64 bits.
/WvDeshabilita las advertencias introducidas por versiones posteriores del compilador.
/WXTrata las advertencias como errores.
/YdDesusado. Coloca información completa de depuración en todos los archivos de objeto. Use /Zi en su lugar.
/YlInserta una referencia de PCH cuando se crea una biblioteca de depuración.
/ZmEspecifica el límite de asignación de memoria del encabezado precompilado.

Opciones de compilador en desuso y quitadas

OpciónFinalidad
/clr:noAssemblyDesusado. Utilice /LN (Crear un módulo MSIL) en su lugar.
/FrDesusado. Crea un archivo de información de examen sin variables locales.
/GeDesusado. Activa las comprobaciones de la pila. Esta opción está activada de manera predeterminada.
/GXDesusado. Habilita el control sincrónico de excepciones. Use /EH en su lugar.
/GZDesusado. Habilita las comprobaciones rápidas. Use /RTC1 en su lugar.
/HDesusado. Restringe la longitud de los nombres externos (públicos).
/OgDesusado. Usa optimizaciones globales.
QIfistDesusado. Se usaba para especificar cómo hacer una conversión de un tipo de punto flotante a un tipo entero.
/VDesusado. Establece la cadena de versión del archivo .obj.
/YdDesusado. Coloca información completa de depuración en todos los archivos de objeto. Use /Zi en su lugar.
/Zc:forScopeDesusado. Deshabilita la conformidad en el ámbito del bucle.
/ZeDesusado. Habilita las extensiones de lenguaje.
/ZgSe quitó en Visual C++ 2015. Genera prototipos de función.

Referencia de compilación de C/C++
Opciones del compilador
Establecer las opciones del compilador

Mostrar: