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 Sí, 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 .ixx
y 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 Sí, 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
. - Sí: 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 nombreLIBCMTD.lib
de la biblioteca en el.obj
archivo para que el enlazador useLIBCMTD.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 nombreMSVCRTD.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
- Sí: 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 quefp_contract
se desactive y quefenv_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++latest
en , 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 Sí 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 Sí 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 /TC
las opciones ,/TP
, /interface, /internalPartition
o /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.c
extensión ,.ixx
,.cppm
,.h
o 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