/Za、/Ze (言語拡張機能の無効化)/Za, /Ze (Disable Language Extensions)

/Zaコンパイラ オプションを無効にし、ANSI C89/ISO C90 と互換性のない C への Microsoft 拡張のエラーを出力します。The /Za compiler option disables and emits errors for Microsoft extensions to C that aren't compatible with ANSI C89/ISO C90. 非推奨とされる /Zeコンパイラ オプションは、Microsoft の拡張機能を使用します。The deprecated /Ze compiler option enables Microsoft extensions. Microsoft 拡張機能は既定で有効になっています。Microsoft extensions are enabled by default.

構文Syntax

/Za/Za
/Ze/Ze

RemarksRemarks

注意

使用 /Zaコードがコンパイルされると、C++ は推奨されません。The use of /Za when code is compiled as C++ is not recommended. /Zeオプションは、その動作は既定で非推奨とされます。The /Ze option is deprecated because its behavior is on by default. 非推奨のコンパイラ オプションの一覧は、次を参照してください。非推奨と削除されたコンパイラ オプションします。For a list of deprecated compiler options, see Deprecated and removed compiler options.

Microsoft C/C コンパイラでは、2 つの方法で C コードのコンパイルをサポートします。The Microsoft C/C++ compiler supports compilation of C code in two ways:

  • ソース ファイルの場合、コンパイラが既定で C コンパイル モードを使用、 .c拡張機能、または、 /Tcまたは/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. C コンパイラは、既定では、C 言語に対する Microsoft 拡張機能を使用する C89/C90 コンパイラです。The C compiler is an C89/C90 compiler that, by default, enables Microsoft extensions to the C language. 特定の拡張機能の詳細については、次を参照してください。 C および C++ の Microsoft 拡張機能します。For more information about specific extensions, see Microsoft Extensions to C and C++. ときに両方の C のコンパイルと /Zaオプションが指定されて、C コンパイラは、C89/C90 標準に厳密に準拠しています。When both C compilation and the /Za option are specified, the C compiler conforms strictly to the C89/C90 standard. コンパイラは、Microsoft 拡張キーワードを単純な識別子として扱われます、他の Microsoft 拡張機能を無効にし、自動的に定義されます、 _ _STDC_ _ 定義済み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.

  • コンパイラは C++ のコンパイル モードでの C コードをコンパイルできます。The compiler can compile C code in C++ compilation mode. この動作は、既定のソース ファイルがない、 .c拡張機能とタイミング、 /Tpまたは/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. C++ のコンパイル モードでは、コンパイラは、C++ 標準に組み込まれていますが、ISO C99、C11 の標準の一部をサポートします。In C++ compilation mode, the compiler supports those parts of the ISO C99 and C11 standards that have been incorporated into the C++ standard. ほぼすべての C コードは、有効な C++ コードをもできます。Almost all C code is also valid C++ code. C キーワードとコードの構成要素の数が少ないはいない有効な C++ コード、または C++ では異なる方法で解釈されます。A small number of C keywords and code constructs aren't valid C++ code, or are interpreted differently in C++. コンパイラは、このような場合は標準の C++ に従って動作します。The compiler behaves according to the C++ standard in these cases. C++ のコンパイル モードで、 /Zaオプションを選択して予期しない動作がありますはお勧めしません。In C++ compilation mode, the /Za option may cause unexpected behavior and isn't recommended.

他のコンパイラ オプション、コンパイラにより標準への準拠、方法に影響を与えることができます。Other compiler options can affect how the compiler ensures standards conformance. 特定の標準 C および C++ の動作設定を指定する方法は、次を参照してください。、 /Zcコンパイラ オプション。For ways to specify specific standard C and C++ behavior settings, see the /Zc compiler option. C++ 標準準拠の追加の設定を参照してください、 /permissive -/stdコンパイラ オプション。For additional C++ standard conformance settings, see the /permissive- and /std compiler options.

Visual C の準拠の問題の詳細については、次を参照してください。非標準動作します。For more information about conformance issues with Visual C++, see Nonstandard Behavior.

Visual Studio 開発環境において、このコンパイラ オプションを設定する方法To set this compiler option in the Visual Studio development environment

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。Open the project's Property Pages dialog box. 詳細については、次を参照してください。 Visual Studio での設定の C++ コンパイラとビルド プロパティします。For details, see Set C++ compiler and build properties in Visual Studio.

  2. ナビゲーション ウィンドウで、構成プロパティ > C/C++ > 言語します。In the navigation pane, choose Configuration Properties > C/C++ > Language.

  3. 変更、言語拡張機能を無効にするプロパティ。Modify the Disable Language Extensions property.

このコンパイラ オプションをコードから設定するにはTo set this compiler option programmatically

以下を参照してください。DisableLanguageExtensionsSee DisableLanguageExtensions.

関連項目See also

コンパイラ オプションCompiler Options
/Zc (準拠)/Zc (Conformance)
/permissive- (標準への準拠)/permissive- (Standards conformance)
/std (言語の標準バージョンの指定)/std (Specify Language Standard Version)