Propiedades de C o C++ (C++ para Linux)
La compatibilidad con Linux está disponible en Visual Studio 2017 y versiones posteriores.
General
Propiedad | Descripción | Opciones |
---|---|---|
Directorios de inclusión adicionales | Especifica uno o más directorios para agregarlos a la ruta de acceso de inclusión. Use punto y coma para separar varios directorios. (-I[ruta_de_acceso]). | |
Formato de información de depuración | Especifica el tipo de información de depuración generado por el compilador. | Ninguno: no produce información de depuración, por lo que la compilación puede ser más rápida. Información de depuración mínima: genera información de depuración mínima. Información de depuración completa (DWARF2): genera información de depuración DWARF2. |
Nombre de archivo objeto | Especifica un nombre para reemplazar el nombre del archivo objeto predeterminado. Puede ser un nombre de archivo o de directorio. (-o [nombre]). | |
Nivel de advertencia | Selecciona cómo será de estricto el compilador en cuanto a los errores de código. Agregue más marcas directamente a Opciones adicionales. (/w, /Weverything). | Desactivar todas las advertencias: deshabilita todas las advertencias del compilador. 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 utilizar /Werror en todas las compilaciones. Resuelva todas las advertencias para procurar que haya el menor número posible de defectos de código difíciles de encontrar. | |
Advertencias de C adicionales | Define un conjunto de mensajes de advertencia adicionales. | |
Advertencias de C++ adicionales | Define un conjunto de mensajes de advertencia adicionales. | |
Habilitar modo detallado | Cuando el modo detallado está habilitado, proporciona más información para diagnosticar la compilación. | |
Compilador de C | Especifica el programa que debe invocarse durante la compilación de los archivos de código fuente de C, o bien la ruta de acceso al compilador de C en el sistema remoto. | |
Compilador C++ | Especifica el programa que debe invocarse durante la compilación de archivos de código fuente de C++, o bien la ruta de acceso al compilador de C++ en el sistema remoto. | |
Tiempo de espera de compilación | Tiempo de espera de la compilación remota, en milisegundos. | |
Copiar archivos objeto | Especifica si deben copiarse en la máquina local los archivos objeto compilados del sistema remoto. | |
Máximo de trabajos de compilación en paralelo | Número de procesos que se van a crear en paralelo durante la compilación. El valor predeterminado es 1. Si usa Subsistema de Windows para Linux (WSL) versión 1, el límite es 64. | |
Validar arquitectura | Especifique si quiere comprobar si la plataforma de destino del proyecto coincide con el sistema remoto. | |
Habilitar AddressSanitizer | Compile el programa con Address Sanitizer, que es un detector de errores de memoria rápido que puede detectar problemas de memoria en tiempo de ejecución, como use-after-free, y realizar comprobaciones fuera de los límites. |
Optimization
Propiedad | Descripción | Opciones |
---|---|---|
Optimization | Especifica el nivel de optimización de la aplicación. | Personalizado: optimización personalizada. Deshabilitado: deshabilita la optimización. Minimizar tamaño: optimiza el tamaño. Maximizar velocidad: optimiza la velocidad. Optimización completa: optimizaciones costosas. |
Creación de alias estricta | Se da por supuesto que las reglas de alias son las más estrictas. Nunca se da por supuesto que un objeto de un tipo tiene la misma dirección que un objeto de un tipo distinto. | |
Expandir bucles | Expande bucles para hacer más rápida la aplicación, al reducir el número de ramas ejecutadas a costa de un tamaño de código mayor. | |
Optimización de tiempo de vinculación | Permite habilitar las optimizaciones entre procedimientos al dejar al optimizador buscar en archivos objeto de la aplicación. | |
Omitir puntero a marco | Suprime la creación de punteros de marcos en la pila de llamadas. | |
Sin bloques comunes | Asigna incluso variables globales sin inicializar en la sección de datos del archivo objeto, en lugar de generarlas como bloques comunes. |
Preprocesador
Propiedad | Descripción |
---|---|
Definiciones de preprocesador | Define los símbolos de preprocesamiento para el archivo de código fuente. (-D). |
Anular definiciones del preprocesador | Especifica la anulación de una o varias definiciones del preprocesador. (-U [macro]). |
Anular todas las definiciones del preprocesador | Anula la definición de todos los valores del preprocesador definidos previamente. (-undef). |
Mostrar inclusiones | Genera una lista de archivos de inclusión con los resultados del compilador. (-H) |
Generación de código
Propiedad | Descripción | Opciones |
---|---|---|
Código independiente de posición | Genera código independiente de posición (PIC) para usarlo en una biblioteca compartida. | |
Estática segura para subprocesos | Emite código adicional para usar las rutinas especificadas en la ABI de C++ para la inicialización segura para subprocesos de la estática local. | No: deshabilita la estática segura para subprocesos. Sí: habilita la estática segura para subprocesos. |
Optimización de punto flotante | Habilita las optimizaciones de punto flotante al relajar la conformidad de IEEE-754. | |
Métodos insertados ocultos | Cuando se habilita, las copias no insertadas de los métodos insertados se declaran private extern . |
|
Símbolos ocultos de forma predeterminada | Todos los símbolos se declaran private extern , a menos que se marquen de forma explícita para su exportación mediante la macro __attribute . |
|
Habilitar excepciones de C++ | Especifica el modelo de control de excepciones que el compilador usará. | No: deshabilita el control de excepciones. Sí: habilitar el control de excepciones. |
Lenguaje
Propiedad | Descripción | Opciones |
---|---|---|
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). (frtti, fno-rtti). | |
Estándar de lenguaje C | Determina el estándar de lenguaje C. | Predetermiado C89: estándar de lenguaje C89. C99: estándar de lenguaje C99. C11: estándar de lenguaje C11. C99 (dialecto GNU): estándar de lenguaje C99 (dialecto GNU). C11 (dialecto GNU) : estándar de lenguaje C11 (dialecto GNU). |
Estándar de lenguaje C++ | Determina el estándar de lenguaje C++. | Valor predeterminado C++03: estándar de lenguaje C++03. C++11: estándar de lenguaje C++11. C++14: estándar de lenguaje C++14. C++03 (dialecto GNU): estándar de lenguaje C++03 (dialecto GNU). C++11 (dialecto GNU): estándar de lenguaje C++11 (dialecto GNU). C++14 (dialecto GNU): estándar de lenguaje C++14 (dialecto GNU). |
Avanzadas
Propiedad | Descripción | Opciones |
---|---|---|
Compilar como | Selecciona la opción de lenguaje de compilación de los archivos .c y .cpp. (-x c, -x c++). | Predeterminado: la detección se realiza en función de la extensión .c o .cpp. Compilar como código de C: compila como código de C. Compilar como código de C++ : compila como código de C++. |
Archivos de inclusión obligatorios | Especifica uno o más archivos de inclusión forzados (-include [nombre]) |