/Za, /Ze (Deshabilitar extensiones de lenguaje)

La opción del compilador /Za deshabilita y emite errores para las extensiones de Microsoft en 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á encendido de forma predeterminada. Para obtener una lista de las opciones del compilador en desuso, vea Opciones del compilador en desuso y eliminadas.

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 código fuente 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 en el lenguaje C. Para obtener más información sobre extensiones específicas, vea Extensiones de Microsoft para 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 otras extensiones de Microsoft y define automáticamente la macro _ _ predefinida stdc _ _ para los programas de C.

  • El compilador puede compilar código de C en modo de compilación de C++. Este comportamiento es el 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 las 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 de C y construcciones de código 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 la forma en que el compilador garantiza la conformidad de los estándares. Para obtener maneras de especificar una configuración de comportamiento estándar específica de C y C++, vea la opción del compilador /Zc. Para obtener más opciones de conformidad estándar de C++, vea las opciones del compilador /permissive- y /std.

Para obtener más información sobre los problemas de conformidad con 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 del lenguaje > C/C++. >

  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)