/Za, /Ze (Deshabilitar extensiones de lenguaje)

La opción del compilador /Za deshabilita y emite errores para las extensiones de Microsoft a C que no son compatibles con ANSI C89/ISO C90. La opción del compilador /Ze en desuso habilita las extensiones de Microsoft. Las extensiones de Microsoft están habilitadas de manera predeterminada.

Sintaxis

/Za
/Ze

Comentarios

Nota:

No se recomienda el uso de /Za cuando el código se compila como C++. La opción /Ze está en desuso porque su comportamiento está activado de forma predeterminada. Para obtener una lista de las opciones del compilador en desuso, consulte Opciones de compilador en desuso y quitadas.

El compilador de Microsoft C/C++ admite la compilación de código de C de dos maneras:

  • El compilador usa el modo de compilación de C de forma predeterminada cuando un archivo de origen tiene una extensión .c o cuando se especifica la opción /Tc o /TC. El compilador de C es un compilador C89/C90 que, de forma predeterminada, habilita las extensiones de Microsoft al lenguaje C. Para obtener más información sobre extensiones específicas, vea Extensiones de Microsoft a C y C++. Cuando se especifican la compilación de C y la opción /Za, el compilador de C se ajusta estrictamente al estándar C89/C90. El compilador trata las palabras clave extendidas de Microsoft como identificadores simples, deshabilita las demás extensiones de Microsoft y define automáticamente la macro predefinida __STDC__ para los programas de C.

  • El compilador puede compilar código C en modo de compilación de C++. Este comportamiento es el valor predeterminado para los archivos de origen que no tienen una extensión .c y cuando se especifica la opción /Tp o /TP. En el modo de compilación de C++, el compilador admite esas partes de los estándares ISO C99 y C11 que se han incorporado al estándar de C++. Casi todo el código de C también es válido en C++. Un pequeño número de palabras clave y construcciones de código de C no son código de C++ válido o se interpretan de forma diferente en C++. El compilador se comporta según el estándar de C++ en estos casos. En el modo de compilación de C++, la opción /Za puede provocar un comportamiento inesperado y no se recomienda.

Otras opciones del compilador pueden afectar a cómo el compilador garantiza la conformidad de los estándares. Para obtener formas de especificar una configuración de comportamiento estándar específica de C y C++, consulte la opción del compilador /Zc. Para obtener más opciones de conformidad estándar de C++, consulte las opciones del compilador /permissive- y /std.

Para obtener más información sobre los problemas de conformidad de Visual C++, vea Comportamiento no estándar.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>C/C++>Lenguaje.

  3. Modifique la propiedad Deshabilitar extensiones de lenguaje.

Para establecer esta opción del compilador mediante programación

Vea DisableLanguageExtensions.

Consulte también

Opciones del compilador
/Zc (Ajuste)
/permissive/ (Conformidad de los estándares)
/std (Especificar la versión estándar del lenguaje)