Share via


Páginas de propiedades de C/C++

Las páginas de propiedades siguientes se encuentran en Proyecto>Propiedades>Propiedades de configuración>C/C++:

Propiedades generales de C/C++

Directorios de inclusión adicionales

Especifica uno o más directorios para agregarlos a la ruta de acceso de inclusión. Si hay más de un directorio, sepárelos con puntos y coma (";"). Establece la opción del compilador /I (Directorios include adicionales).

Directorios #using adicionales

Especifica uno o varios directorios en los que se buscará para resolver los nombres pasados a una directiva #using. Si hay más de un directorio, sepárelos con puntos y coma (";"). Establece la opción del compilador /AI.

Directorios de BMI adicionales

Especifica uno o varios directorios en los que se buscará para resolver los nombres pasados a una directiva import. Si hay más de un directorio, sepárelos con puntos y coma (";"). Establece la opción del compilador /ifcSearchDir[path].

Dependencias de módulo adicionales

Especifica uno o varios módulos que se usarán para resolver los nombres pasados a una directiva import. Si hay más de un directorio, sepárelos con puntos y coma (";"). Establece la opción del compilador /reference.

Dependencias de unidad de encabezado adicionales

Especifica una o varias unidades de encabezado que se usarán para resolver los nombres pasados a una directiva de encabezado import. Si hay más de un directorio, sepárelos con puntos y coma (";"). Establece la opción del compilador /headerUnit.

Examinar los orígenes de las dependencias de módulo

Cuando se establece en , el compilador examina todos los orígenes de C++ (no solo los orígenes de interfaz del módulo y de unidad de encabezado) para las dependencias de unidad de módulo y de encabezado. El sistema de compilación compila el gráfico de dependencias completo, lo que garantiza que todos los módulos importados y las unidades de encabezado se compilan antes de compilar los archivos que dependen de ellos. Cuando se combina con Convertir directivas include en import, cualquier archivo de encabezado especificado en un archivo header-units.json en el mismo directorio que el archivo de encabezado se compila en una unidad de encabezado.

Los archivos que tienen la extensión .ixxy los archivos que tienen sus propiedades>Archivo C/C++>Compile As propiedad establecida en Compilar como unidad de encabezado de C++ (/exportHeader) siempre se examinan.

Convertir directivas include en import

Cuando se establece en , el compilador trata una directiva #include como una directiva import si se cumplen ciertas condiciones: el archivo de encabezado se especifica en un archivo header-units.json del mismo directorio y hay disponible una unidad de encabezado compilada (un archivo .ifc) para el archivo de encabezado. De lo contrario, el archivo de encabezado se trata como #include normal. El archivo header-units.json se usa para compilar unidades de encabezado para cada #include sin duplicación de símbolos. En combinación con Buscar orígenes para dependencias de módulo, el compilador busca automáticamente todos los archivos de encabezado que se pueden compilar en unidades de encabezado. Esta propiedad establece la opción del compilador /translateInclude.

Formato de información de depuración

Especifica el tipo de información de depuración generado por el compilador. Esta propiedad requiere una configuración de enlazador admitida. Establece las opciones del compilador /Z7, /Zi y /ZI (Formato de la información de depuración).

Opciones

  • Ninguno: no produce información de depuración, por lo que la compilación puede ser más rápida.
  • Compatible con C7: seleccione el tipo de información de depuración que se crea para el programa y si esta información se conserva en archivos objeto (.obj) o en una base de datos de programa (PDB).
  • Base de datos de programa :genera una base de datos de programa (PDB) que contiene información de tipos e información de depuración simbólica que se usa con el depurador. La información de depuración simbólica incluye los nombres y los tipos de las variables, así como las funciones y los números de línea.
  • Base de datos de programa para editar y continuar : genera una base de datos de programa, como se ha descrito anteriormente, en un formato que admita la característica Editar y continuar .

Compatibilidad con la depuración de Solo mi código

Agrega código auxiliar para habilitar la depuración de Solo mi código en esta unidad de compilación. Establece /JMC.

Compatibilidad con Common Language Runtime

Use el servicio de runtime de .NET. Este modificador no es compatible con otros modificadores; consulte la documentación sobre la familia de modificadores /clr para obtener más información.

Opciones

  • Sin compatibilidad con Common Language Runtime: no se admite Common Language Runtime.
  • Compatibilidad con Common Language Runtime: crea metadatos para la aplicación que otras aplicaciones con CLR pueden consumir. También permite que la aplicación consuma tipos y datos en los metadatos de otros componentes de CLR.
  • Compatibilidad con Common Language Runtime de MSIL puro: genera un archivo de salida de solo MSIL sin código ejecutable nativo, aunque puede contener tipos nativos compilados para MSIL.
  • Compatibilidad con Common Language Runtime de MSIL seguro: genera un archivo de salida de MSIL (sin código ejecutable nativo) y un archivo de salida verificable.

Consumo de extensiones de Windows Runtime

Consume las extensiones de lenguaje de Windows Runtime. Establece /ZW.

Suprimir la pancarta de inicio

Suprime la presentación del banner de inicio de sesión cuando se inicia el compilador y muestra mensajes informativos durante la compilación.

Nivel de advertencia

Permite seleccionar cómo será de estricto el compilador en cuanto a los errores de código. Establece /W0 - /W4.

Opciones

  • Desactivar todas las advertencias: el nivel 0 deshabilita todas las advertencias.
  • Nivel 1: el nivel 1 muestra advertencias graves. Este es el nivel de advertencia predeterminado en la línea de comandos.
  • Nivel 2: el nivel 2 muestra todas las advertencias de nivel 1 y advertencias menos graves que las de ese nivel.
  • Nivel 3: el nivel 3 muestra todas las advertencias de nivel 2 y todas las demás advertencias recomendadas para fines de producción.
  • Nivel 4: el nivel 4 muestra todas las advertencias de nivel 3, además de advertencias informativas que, en la mayoría de los casos, se pueden omitir de forma segura.
  • Habilitar todas las advertencias: habilita todas las advertencias, incluidas las deshabilitadas de manera predeterminada.

Tratar advertencias como errores

Trata todas las advertencias del compilador como errores. En un proyecto nuevo, probablemente lo mejor sea usar /WX en cada compilación. Resuelva todas las advertencias para que haya el menor número posible de defectos de código difíciles de encontrar.

Versión de advertencia

Oculta las advertencias generadas después de una versión específica del compilador. Establece /Wv:xx[.yy[.zzzzz]].

Formato de diagnóstico

Habilita diagnósticos enriquecidos con información de columna y contexto de origen en mensajes de diagnóstico.

Opciones

  • Acento circunflejo: proporciona información de columna en el mensaje de diagnóstico. Además, genera la línea de código fuente pertinente con un acento circunflejo que indica la columna incorrecta.
  • Información de columna: proporciona además el número de columna dentro de la línea donde se emite el diagnóstico, si procede.
  • Clásico: solo genera los mensajes de diagnóstico anteriores y concisos con el número de línea.

Comprobaciones de SDL

Comprobaciones recomendadas del ciclo de vida de desarrollo de seguridad adicional (SDL); incluye la habilitación de más características de generación de código seguro y habilita otras advertencias relevantes para la seguridad como errores. Establece /sdl y /sdl-.

Compilación multiprocesador

Habilite la compilación de varios procesadores. Establece la opción del compilador /MP.

Habilitar AddressSanitizer

Compila y enlaza el programa con instrumentación AddressSanitizer. Esta propiedad admite compilaciones de destino x86 y x64. Establece la opción del compilador /fsanitize.

Propiedades de optimización de C/C++

Optimización

Seleccione la opción para la optimización del código; elija Personalizada para usar opciones de optimización específicas. Establece /Od, /O1 y /O2.

Opciones

  • Personalizado: optimización personalizada.
  • Deshabilitado: deshabilita la optimización.
  • Optimización máxima (favorece el tamaño): equivalente a /Os /Oy /Ob2 /Gs /GF /Gy
  • Optimización máxima (favorece la velocidad): equivalente a /Oi /Ot /Oy /Ob2 /Gs /GF /Gy
  • Optimizaciones (favorece la velocidad): equivalente a /Oi /Ot /Oy /Ob2

Expansión de funciones insertadas

Seleccione el nivel de expansión de funciones insertadas para la compilación. Establece /Ob.

Opciones

  • Valor predeterminado
  • Deshabilitado: deshabilita la expansión insertada, que está activada de forma predeterminada.
  • Only __inline: expande solo las funciones marcadas como inline, __forceinline o __inline. O bien, en una función miembro de C++, se define dentro de una declaración de clase.
  • Cualquiera adecuado: permite la expansión de las funciones marcadas como inline o __inline y de cualquier otra función que elija el compilador. (La expansión se produce a discreción del compilador, a menudo denominada inserción automática).

Habilitar funciones intrínsecas

Habilita funciones intrínsecas. El uso de funciones intrínsecas genera código más rápido, pero posiblemente más grande. Establece /Oi.

Potenciar el tamaño o la velocidad

Si se debe potenciar el tamaño o la velocidad del código; "Optimización global" debe activarse. Establece /Ot y /Os.

Opciones

  • Potenciar código pequeño: minimiza el tamaño de los EXE y los archivos DLL al indicar al compilador que favorezca el tamaño con respecto a la velocidad.
  • Potenciar código rápido: maximiza la velocidad de los EXE y los archivos DLL al indicar al compilador que favorece la velocidad con respecto al tamaño. (Este valor es el predeterminado).
  • Ninguno: sin optimización de tamaño y velocidad.

Omitir puntero de marcos

Suprime la creación de punteros de marcos en la pila de llamadas.

Habilitar optimizaciones para fibra

Permite optimizar el espacio de memoria cuando se usa fibra y acceso de almacenamiento local para el subproceso. Establece /GT.

Optimización de todo el programa

Habilita las optimizaciones entre módulos retrasando la generación de código para vincular el tiempo. Requiere la opción del enlazador Generación de código de tiempo de vínculo. Establece /GL.

Propiedades de preprocesador de C/C++

Definiciones de preprocesador

Define los símbolos de preprocesamiento para el archivo de código fuente.

Anular definiciones del preprocesador

Especifica la anulación de una o varias definiciones del preprocesador. Establece /U.

Anular todas las definiciones del preprocesador

Anula la definición de todos los valores del preprocesador definidos previamente. Establece /u.

Omitir rutas de acceso include estándares

Impide que el compilador busque archivos de inclusión en los directorios especificados en las variables de entorno INCLUDE.

Preprocesamiento en un archivo

Preprocesa archivos de origen de C y C++ y escribe la salida preprocesada en un archivo. Esta opción suprime la compilación y no produce ningún archivo .obj.

Preprocesamiento Suprimir números de línea

Lleva a cabo el preprocesamiento sin directivas #line.

Mantener comentarios

Suprime la franja de comentarios del código fuente; requiere establecer al menos una de las opciones de preprocesamiento. Establece /C.

Propiedades de generación de código C/C++

Habilitación de la agrupación de cadenas

El compilador solo crea una copia de solo lectura de cadenas idénticas en la imagen del programa. Da como resultado programas más pequeños, una optimización que se denomina agrupación de cadenas. /O1, /O2 y /ZI establecen automáticamente la opción /GF.

Habilitar recompilación mínima

Habilita la recompilación mínima, que determina si es necesario recompilar los archivos de origen de C++ que incluyen definiciones de clase de C++ cambiadas y almacenadas en archivos de encabezado .h.

Habilitar excepciones de C++

Especifica el modelo de control de excepciones que usará el compilador.

Opciones

  • Sí, con excepciones SEH: modelo de control de excepciones que detecta las excepciones asincrónicas (estructuradas) y sincrónicas (C++). Establece /EHa.
  • : modelo de control de excepciones que solo detecta las excepciones de C++ e indica al compilador que presuponga que las funciones de C externas no generarán ninguna excepción de C++. Establece /EHsc.
  • Sí, con funciones de C externas: modelo de control de excepciones que solo detecta las excepciones de C++ e indica al compilador que presuponga que las funciones de C externas generarán excepciones. Establece /EHs.
  • No: sin control de excepciones.

Comprobación de tipos más pequeños

Habilite la comprobación de la conversión a tipos más pequeños; es incompatible con cualquier tipo de optimización distinto de la depuración. Establece /RTCc.

Comprobaciones en tiempo de ejecución básicas

Habilite las comprobaciones de errores en tiempo de ejecución básicas; es incompatible con cualquier tipo de optimización distinto de la depuración. Establece /RTCs, /RTCu y /RTC1.

Opciones

  • Marcos de pila: habilita la comprobación de errores en tiempo de ejecución de marco de pila.
  • Variables sin inicializar: notifica cuándo se usa una variable sin haberse inicializado.
  • Ambos (/RTC1, equiv. a /RTCsu): equivalente a /RTCsu.
  • Valor predeterminado: comprobaciones en tiempo de ejecución predeterminadas.

Biblioteca en tiempo de ejecución

Especifique la biblioteca en tiempo de ejecución para la vinculación. Establece /MT, /MTd, /MD y /MDd.

Opciones

  • Varios subprocesos: hace que la aplicación use la versión estática con varios subprocesos de la biblioteca en tiempo de ejecución.
  • Depuración multiproceso : define _DEBUG y _MT. Esta opción también hace que el compilador coloque el nombre LIBCMTD.lib de la biblioteca en el .obj archivo para que el enlazador use LIBCMTD.lib para resolver símbolos externos.
  • DLL de varios subprocesos: hace que la aplicación use la versión específica para varios subprocesos y la versión específica para DLL de la biblioteca en tiempo de ejecución. Define _MT y _DLL, y hace que el compilador coloque el nombre de biblioteca MSVCRT.lib en el archivo .obj.
  • DLL de depuración de varios subprocesos: define _DEBUG, _MT y _DLL, y hace que la aplicación use la versión de depuración de varios subprocesos y específica para DLL de la biblioteca en tiempo de ejecución. También hace que el compilador coloque el nombre MSVCRTD.lib de la biblioteca en el .obj archivo.

Alineación de miembros de estructura

Especifica límites de 1, 2, 4 o 8 bytes para la alineación de miembros de estructura. Establece /Zp.

Opciones

  • 1 Byte : empaqueta estructuras en límites de un byte. Igual a /Zp.
  • 2 Bytes : empaqueta estructuras en límites de dos bytes.
  • 4 Bytes : empaqueta estructuras en límites de cuatro bytes.
  • 8 Bytes : empaqueta estructuras en límites de ocho bytes (valor predeterminado).
  • 16 Bytes : empaqueta estructuras en los límites de dieciséis bytes.
  • Valor predeterminado: configuración de alineación predeterminada.

Comprobación de seguridad

La comprobación de seguridad ayuda a detectar desbordamientos del búfer de pila, un ataque común contra la seguridad de un programa.

Opciones

  • Deshabilitar comprobación de seguridad: deshabilita la comprobación de seguridad. Establece /GS-.
  • Habilitar comprobación de seguridad: habilita la comprobación de seguridad. Establece /GS.

Protección de flujo de control

La comprobación de seguridad de la cláusula de restricción ayuda a detectar intentos de envío a un bloque de código no válido.

Opciones

  • : habilita la comprobación de seguridad con conjuntos de cláusulas de restricción /guard:cf.
  • No

Habilitar vinculación en el nivel de función

Permite que el compilador empaquete las funciones individuales con formato de funciones empaquetadas (COMDATs). Es necesario para que funcione Editar y continuar. Establece /Gy.

Habilitar la generación de código paralelo

Permite al compilador generar código paralelo para bucles identificados mediante #pragma loop(hint_parallel[(n)]) cuando la optimización está habilitada.

Habilitar conjunto de instrucciones mejoradas

Habilite el uso de instrucciones que se encuentran en procesadores que admiten conjuntos de instrucciones mejoradas. Algunos ejemplos son las mejoras SSE, SSE2, AVX y AVX2 en IA-32. Además, las mejoras de AVX y AVX2 en x64. Actualmente, /arch:SSE y /arch:SSE2 solo están disponibles en compilaciones para la arquitectura x86. Si no se especifica ninguna opción, el compilador usa instrucciones que se encuentran en los procesadores que admiten SSE2. El uso de instrucciones mejoradas se puede deshabilitar con /arch:IA32. Para obtener más información, vea/arch (x86), /arch (x64), /arch (ARM64)y /arch (ARM).

Opciones

  • Extensiones SIMD de streaming: extensiones SIMD de streaming. Establece /arch:SSE.
  • Extensiones SIMD de streaming 2: extensiones SIMD de streaming 2. Establece /arch:SSE2.
  • Extensiones vectoriales avanzadas: extensiones vectoriales avanzadas. Establece /arch:AVX.
  • Extensiones vectoriales avanzadas 2: extensiones vectoriales avanzadas 2. Establece /arch:AVX2.
  • Sin instrucciones mejoradas: sin instrucciones mejoradas. Establece /arch:IA32.
  • Sin establecer: sin establecer.

Modelo de punto flotante

Establece el modelo de punto flotante. Establece /fp:precise, /fp:strict y /fp:fast.

Opciones

  • Preciso: valor predeterminado. Mejora la coherencia de las pruebas de punto flotante de igualdad y desigualdad.
  • Estricto: modelo de punto flotante más estricto. /fp:strict hace que fp_contract se desactive y que fenv_access se active. /fp:except está implícito y se puede deshabilitar explícitamente si se especifica /fp:except-. Cuando se usa con /fp:except-, /fp:strict fuerza la semántica de punto flotante estricta, pero sin considerar eventos excepcionales.
  • Rápido: crea el código más rápido en la mayoría de los casos.

Habilitar excepciones de punto flotante

Modelo confiable de excepción de punto flotante. Las excepciones se generarán inmediatamente después de desencadenarse. Establece /fp:except.

Crear una imagen de revisión en caliente

Cuando la revisión en caliente está activada, el compilador garantiza que la primera instrucción de cada función sea de dos bytes, lo cual es necesario para aplicar una revisión de este tipo. Establece /hotpatch.

Mitigación de Spectre

Mitigaciones de Spectre para CVE 2017-5753. Establece /Qspectre.

Opciones

  • Habilitado: se habilita la característica de mitigación de Spectre para CVE 2017-5753.
  • Deshabilitado : no se establece.

Propiedades del lenguaje C/C++

Deshabilitar extensiones de lenguaje

Suprime o habilita extensiones de lenguaje. Establece /Za.

Tratar WChar_t como tipo integrado

Cuando se especifica, el tipo wchar_t se convierte en un tipo nativo asignado a __wchar_t de la misma manera que short se asigna a __int16. /Zc:wchar_t está activado.

Forzar conformidad en el ámbito del bucle For

Implementa el comportamiento estándar de C++ para los bucles de instrucciones for con extensiones de Microsoft. Establece /Za y /Ze (Deshabilitar extensiones de lenguaje. /Zc:forScope está activado.

Eliminar código y datos sin referencia

Cuando se especifica, el compilador ya no genera información de símbolos para el código y los datos sin referencia.

Exigir reglas de conversión de tipos

Se usa para identificar un tipo de referencia rvalue como resultado de una operación de conversión según el estándar de C++11.

Habilitar información de tipo en tiempo de ejecución

Agrega código para comprobar los tipos de objetos de C++ en tiempo de ejecución (información de tipo en tiempo de ejecución o RTTI). Establece /GR y /GR-.

Compatibilidad con OpenMP

Habilita extensiones de lenguaje de OpenMP 2.0. Establece /openmp.

Estándar de lenguaje C++

Determina el estándar del lenguaje C++ que habilita el compilador. El valor predeterminado no establece ninguna opción estándar, por lo que el compilador usa su configuración predeterminada de C++14. Si selecciona un valor específico, la opción del compilador correspondiente /std es set.md).

Opciones

  • Predeterminado (Estándar ISO C++14)
  • Estándar ISO C++14 (/std:c++14)
  • Estándar ISO C++17 (/std:c++17)
  • Estándar ISO C++20 (/std:c++20)
  • Versión preliminar: características del último borrador de trabajo de C++ (/std:c++latest)

Estándar de lenguaje C

Determina el estándar del lenguaje C que habilita el compilador. El valor predeterminado no establece una opción estándar, por lo que el compilador usa su configuración de MSVC heredada predeterminada. Si selecciona un valor específico, la opción del compilador correspondiente /std es set.md).

Opciones

  • Valor predeterminado (MSVC heredado)
  • Norma ISO C11 (/std:c11)
  • ISO C17 (2018) Estándar (/std:c17)

Modo de conformidad

Habilita o suprime el modo de conformidad. Establece /permissive-.

Habilitación de módulos experimentales de biblioteca estándar de C++

Compatibilidad experimental con los módulos TS y biblioteca estándar de módulos de C++.

Compilación de módulos de biblioteca estándar iso C++23

A partir de Visual Studio 17.6, cuando esta propiedad está habilitada y C++ Language Standard se establece /std:c++latesten , los proyectos de Visual C++ buscan y compilan automáticamente módulos de biblioteca estándar iso C++23. Esto le import std permite o import std.compat en el código de C++.

Propiedades de encabezados precompilados de C/C++

Creación o uso de encabezados precompilados

Habilita la creación o el uso de un encabezado precompilado durante la compilación. Establece /Yc y /Yu.

Opciones

  • Crear: indica al compilador que cree un archivo de encabezado precompilado (.pch) que represente el estado de la compilación en un momento determinado.
  • Usar: indica al compilador que use un archivo de encabezado precompilado (.pch) existente en la compilación actual.
  • No usar encabezados precompilados: no se usa ningún encabezado precompilado.

Archivo de encabezado precompilado

Especifica el nombre del archivo de encabezado que se va a usar al crear o usar un archivo de encabezado precompilado. Establece /Yc y /Yu.

Directorio de archivos de salida del encabezado precompilado

Especifica la ruta de acceso o el nombre del archivo de encabezado precompilado que se ha generado. Establece /Fp.

Propiedades de archivos de salida de C/C++

Expandir origen con atributos

Cree un archivo de lista con los atributos expandidos insertados en el archivo de código fuente. Establece /Fx.

Resultados de ensamblado

Especifica el contenido del archivo de salida del lenguaje de ensamblado. Establece /FA, /FAc, /FAs y /FAcs.

Opciones

  • Sin lista: sin lista.
  • Lista solo de ensamblados: código de ensamblado; .asm.
  • Ensamblado con código de máquina: código de máquina y ensamblado; .cod.
  • Ensamblado con código fuente: código fuente y de ensamblado; .asm.
  • Ensamblado, código de máquina y fuente: código de ensamblado, máquina y fuente; .cod.

Usar Unicode para lista de ensambladores

Hace que el archivo de salida se cree en formato UTF-8.

Ubicación de lista de ASM

Especifica la ruta de acceso relativa o el nombre del archivo de lista de ASM; puede ser un nombre de archivo o directorio. Establece /Fa.

Nombre de archivo objeto

Especifica un nombre para reemplazar el nombre del archivo objeto predeterminado. Puede ser un nombre de archivo o de directorio. Establece /Fo.

Nombre del archivo de base de datos del programa

Especifica un nombre para un archivo PDB generado por el compilador; especifica también el nombre base del archivo IDB generado por el compilador necesario; puede ser un nombre de archivo o directorio. Establece /Fd.

Generar archivos de documentación XML

Especifica que el compilador debe generar archivos de comentarios de documentación XML (.XDC). Establece /doc.

Nombre del archivo de documentación XML

Especifica el nombre de los archivos de documentación XML generados; puede ser un nombre de archivo o directorio. Establece /doc:<name>.

Propiedades de la información de examen de C/C++

Habilitar información de examen

Especifica el nivel de información de examen en el archivo .bsc. Establece /FR.

Archivo de información de examen

Especifica el nombre opcional para el archivo de información de examen. Establece /FR<name>.

Directivas include externas

Tratar como externos los archivos incluidos en corchetes angulares

Especifica si los archivos incluidos entre corchetes angulares deben tratarse como externos. Establezca esta propiedad en para establecer la opción del compilador /external:anglebrackets.

Nivel de advertencia de encabezados externos

Permite seleccionar cómo será de estricto el compilador en cuanto a los errores de código en encabezados externos. Esta propiedad establece la opción del compilador /external:Wn. Si este valor se establece en Heredar nivel de advertencia del proyecto o el valor predeterminado, se omiten otras opciones /external.

Diagnóstico de plantilla en encabezados externos

Especifica si debe evaluarse el nivel de advertencia en la cadena de creación de instancias de plantilla. Establezca esta propiedad en para establecer la opción del compilador /external:templates-.

Deshabilitar el análisis de código para encabezados externos

Deshabilita el análisis de código para encabezados externos. Establece la opción del compilador /analyze:external-.

Conjunto de reglas de análisis para encabezados externos

Especifica una invalidación del conjunto de reglas de análisis de código para los encabezados externos. Si no se especifica, se usa la configuración de Code Analysis. Establece la opción del compilador /analyze:external:ruleset path.

Propiedades avanzadas de C/C++

Convención de llamada

Seleccione la convención de llamada predeterminada para la aplicación (la función puede invalidarla). Establece /Gd, /Gr, /Gz y /Gv.

Opciones

  • __cdecl: especifica la convención de llamada __cdecl para todas las funciones, excepto las funciones miembro de C++ y las que se marcan como __stdcall o __fastcall.
  • __fastcall: especifica la convención de llamada __fastcall para todas las funciones, excepto las funciones miembro de C++ y las que se marcan como __cdecl o __stdcall. Todas las funciones __fastcall deben tener prototipos.
  • __stdcall: especifica la convención de llamada __stdcall para todas las funciones, excepto las funciones miembro de C++ y las que se marcan como __cdecl o __fastcall. Todas las funciones __stdcall deben tener prototipos.
  • __vectorcall: especifica la convención de llamada __vectorcall para todas las funciones, excepto las funciones miembro de C++ y las que se marcan como __cdecl, __fastcall o __stdcall. Todas las funciones __vectorcall deben tener prototipos.

Compilar como

Seleccione la opción de lenguaje de compilación para los archivos de origen. Establece /TClas opciones ,/TP , /interface, /internalPartitiono /exportHeader .

Opciones

  • Predeterminado: opción predeterminada.
  • Compilar como código C (/TC): compile archivos de código fuente especificados como código C. De forma predeterminada, los archivos con una .c extensión se compilan como C.
  • Compilar como código de C++ (/TP): compile archivos de código fuente especificados como código C++. De forma predeterminada, todos los archivos de origen que no tienen una .cextensión , .ixx, .cppm, .ho ninguna extensión se compilan como C++.
  • Compilar como código de módulo de C++ (/interface): compile archivos de código fuente especificados como código de módulo de C++. De forma predeterminada, los archivos con una .ixx extensión o .cppm se compilan como código de módulo de C++.
  • Compilar como partición interna del módulo de C++ (/internalPartition): compile archivos de origen especificados como partición interna del módulo de C++.
  • Compilar como unidad de encabezado de C++ (/exportHeader): compile archivos de origen especificados como unidad de encabezado de C++. De forma predeterminada, los archivos con una .h extensión o ninguna extensión se compilan como unidades de encabezado.

Deshabilitar advertencias específicas

Deshabilita los números de advertencias específicas. Coloque los números de advertencias en una lista delimitada por puntos y coma. Establece /wd<number>.

Archivo include forzado

Uno o más archivos de inclusión obligatorios. Establece /FI<name>.

Archivo #using forzado

Especifica uno o varios archivos #using. Establece /FU<name>.

Mostrar inclusiones

Genera una lista de archivos de inclusión con los resultados del compilador. Establece /showIncludes.

Usar rutas de acceso completas

Use rutas de acceso completas en los mensajes de diagnóstico. Establece /FC.

Omitir nombres de biblioteca predeterminada

No incluye nombres de biblioteca predeterminados en archivos .obj. Establece /Zl.

Informe de errores internos del compilador

Nota:

Esta opción está en desuso. A partir de Windows Vista, los informes de errores se controlan mediante la configuración de Informe de errores de Windows (WER).

Tratar advertencias específicas como errores

Trata las advertencia del compilador específicas como un error en el que n es una advertencia del compilador.

Additional Options

Opciones adicionales