実装されている C 標準バージョンの決定
コンパイラの C 標準実装を決定することは、互換性を確保し、最新の言語機能を利用するために重要です。 。 C 98 や C 03 など、いくつかの C 標準がリリースされています。
標準バージョンを識別する 1 つの方法は、マクロ __cplusplus を確認することです。
__cplusplus Macro
Bjarne Stroustrup の C 0x FAQ によると、 __cplusplus マクロは、C 11 以降では 199711L より大きい値に設定されます。ただし、一部のコンパイラはこのマクロを正しく設定しない場合があります。
GCC
gcc には、言語バージョンに関係なく、__cplusplus を 1 に設定した履歴があります。この問題は gcc 4.7.0 で解決されました。
MSVC
MSVC も __cplusplus を 199711L として誤って定義します。正しい値を取得するには、コンパイラ フラグに /Zc:__cplusplus を追加するか、MSVC 固有のマクロ _MSVC_LANG を確認してください。
Expected __cplusplus Values
その他のメソッド
__cplusplus が不足または使用できない場合、他のアプローチinclude:
すべてのコンパイラが C 標準のすべての機能を完全に実装しているわけではないことに注意することが重要です。信頼性の高いコード実行を保証するには、コンパイラーの互換性と機能サポートを注意深く検査する必要があります。
以上がコンパイラの実装されている C 標準バージョンを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。