/Za, /Ze (Deshabilitar extensiones de lenguaje)/Za, /Ze (Disable Language Extensions)

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.The /Za compiler option disables and emits errors for Microsoft extensions to C that aren't compatible with ANSI C89/ISO C90. La opción de compilador /ze desusada habilita las extensiones de Microsoft.The deprecated /Ze compiler option enables Microsoft extensions. Las extensiones de Microsoft están habilitadas de manera predeterminada.Microsoft extensions are enabled by default.

SintaxisSyntax

/Za/Za
/Ze/Ze

ObservacionesRemarks

Nota

El uso de /za cuando el código se compila como C++ no se recomienda.The use of /Za when code is compiled as C++ is not recommended. La opción /ze está en desuso porque su comportamiento está activado de forma predeterminada.The /Ze option is deprecated because its behavior is on by default. Para obtener una lista de opciones del compilador en desuso, vea Opciones del compilador en desuso y quitadas.For a list of deprecated compiler options, see Deprecated and removed compiler options.

El compilador de C/C++ de Microsoft admite la compilación de código de C de dos maneras:The Microsoft C/C++ compiler supports compilation of C code in two ways:

  • El compilador utiliza 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 .The compiler uses C compilation mode by default when a source file has a .c extension, or when the /Tc or /TC option is specified. El compilador de C es un compilador de C89/C90 que habilita de forma predeterminada las extensiones de Microsoft para el lenguaje C.The C compiler is an C89/C90 compiler that, by default, enables Microsoft extensions to the C language. Para obtener más información acerca de las extensiones específicas, vea extensiones de Microsoft para C y C++.For more information about specific extensions, see Microsoft Extensions to C and 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.When both C compilation and the /Za option are specified, the C compiler conforms strictly to the C89/C90 standard. 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.The compiler treats Microsoft extended keywords as simple identifiers, disables the other Microsoft extensions, and automatically defines the __STDC__ predefined macro for C programs.

  • El compilador puede compilar código C en el modo de compilación de C++.The compiler can compile C code in C++ compilation mode. Este comportamiento es el predeterminado para los archivos de código fuente que no tienen la extensión . c y cuando se especifica la opción /TP o /TP .This behavior is the default for source files that don't have a .c extension, and when the /Tp or /TP option is specified. 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 en el estándar de C++.In C++ compilation mode, the compiler supports those parts of the ISO C99 and C11 standards that have been incorporated into the C++ standard. Casi todo el código C también es código de C++ válido.Almost all C code is also valid C++ code. Un pequeño número de construcciones de código y palabras clave de C no es un código de C++ válido o se interpreta de manera diferente en C++.A small number of C keywords and code constructs aren't valid C++ code, or are interpreted differently in C++. En estos casos, el compilador se comporta de acuerdo con el estándar de C++.The compiler behaves according to the C++ standard in these cases. En el modo de compilación de C++, la opción /za puede producir un comportamiento inesperado y no se recomienda.In C++ compilation mode, the /Za option may cause unexpected behavior and isn't recommended.

Otras opciones del compilador pueden afectar a la forma en que el compilador garantiza la conformidad con los estándares.Other compiler options can affect how the compiler ensures standards conformance. Para obtener información sobre cómo especificar la configuración de comportamiento estándar de C y C++, consulte la opción del compilador /ZC .For ways to specify specific standard C and C++ behavior settings, see the /Zc compiler option. Para obtener más opciones de configuración de cumplimiento estándar de C++, vea las opciones del compilador /permissive- y /STD .For additional C++ standard conformance settings, see the /permissive- and /std compiler options.

Para obtener más información sobre los problemas de conformidad con Visual C++, vea comportamiento no estándar.For more information about conformance issues with Visual C++, see Nonstandard Behavior.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual StudioTo set this compiler option in the Visual Studio development environment

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto.Open the project's Property Pages dialog box. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.For details, see Set C++ compiler and build properties in Visual Studio.

  2. En el panel de navegación, elija propiedades de configuración > lenguaje C/C++ > .In the navigation pane, choose Configuration Properties > C/C++ > Language.

  3. Modifique la propiedad deshabilitar extensiones de lenguaje .Modify the Disable Language Extensions property.

Para establecer esta opción del compilador mediante programaciónTo set this compiler option programmatically

Vea DisableLanguageExtensions.See DisableLanguageExtensions.

Consulta tambiénSee also

Opciones del compiladorCompiler Options
/Zc (Ajuste)/Zc (Conformance)
/permissive/ (Conformidad de los estándares)/permissive- (Standards conformance)
/STD (especificar la versión estándar del lenguaje)/std (Specify Language Standard Version)