/Za, /Ze   (Disable Language Extensions)

OverviewHow Do ICompiler Options

The Microsoft C compiler supports the ANSI C standard. In addition, it offers a number of features beyond those specified in the ANSI C standard. These features are available when the /Ze option, the default, is specified and are not available when the /Za option is specified. See Microsoft Extensions to C for more information.

Command Line Project Settings Description
/Za Disable Language Extensions (check box selected) ANSI C compatibility. Language constructs not compatible with ANSI C are flagged as errors.
/Ze (Check box cleared) Enables Microsoft extensions.

To find this option in the development environment, click Settings on the Project menu. Then click the C/C++ tab, and click Customize in the Category box.

Note If you use the Disable Language Extensions (/Za) option, the Improve Float Consistency (/Op) option is used to improve the consistency of floating-point tests for equality and inequality. This use of /Op with /Za is for strict ANSI conformance and is the only situation under which /Op is selected by default. The /Op– option is provided to override the default selection of /Op with /Za. Specify  /Op– in the Common/Project/Source File Options text box (or on the command line), after /Za, to disable /Op. For more information, also see Generate Intrinsic Functions (/Oi).

Disable language extensions if you plan to port your program to other environments. The compiler treats extended keywords as simple identifiers, disables the other Microsoft extensions, and automatically defines the __STDC__ predefined macro for C programs.