/Zc:__STDC__
(マクロを有効にする __STDC__
)
コンパイラ オプションは /Zc:__STDC__
、組み込みの __STDC__
プリプロセッサ マクロを C コードで 1 として定義します。
構文
/Zc:__STDC__
解説
コンパイラ オプションは /Zc:__STDC__
、プリプロセッサ マクロの標準 C 準拠動作 __STDC__
を実装し、C11 および C17 コードをコンパイルするときに 1 に設定します。
この /Zc:__STDC__
オプションは、Visual Studio 2022 バージョン 17.2 の新機能です。 このオプションは既定ではオフになっていますが、指定されている場合 /std:c11
は /std:c17
明示的に有効にすることができます。 このオプションの負のバージョンはありません。
このオプションは、ソースの破壊的変更です。 __STDC__
が 1
のときは POSIX 関数が公開されない UCRT の動作により、安定した言語バージョンに破壊的変更を加えることなく、既定で C 用にこのマクロを定義することはできません。
例
// test__STDC__.c
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
int main() {
#if __STDC__
int f = _open("file.txt", _O_RDONLY);
_close(f);
#else
int f = open("file.txt", O_RDONLY);
close(f);
#endif
}
/* Command line behavior
C:\Temp>cl /EHsc /W4 /Zc:__STDC__ test__STDC__.c && test__STDC__
*/
このコンパイラ オプションを Visual Studio で使用するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[C/C++]>[コマンド ライン] プロパティ ページを選択します。
[その他のオプション] に [.
/Zc:__STDC__
[OK] または [適用] を選択して、変更内容を保存します。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示