この投稿でこの用語に出くわしました,
コンパイラで実際に使用されているルールを確認するにはどうすればよいですか?
または、ルールを指定することは可能cl.exe
ですか?
C99 コンパイラは__STDC_VERSION__
値 199901L でプリプロセッサ シンボルを定義する必要がありますが、C90 ではこれを行うべきではありません (そうすることを妨げるものは何もなく、C90 に準拠しているとは言えませんが、準拠しているとは思えません)。非準拠コンパイラまたは非準拠モードのコンパイラについては、明らかに何も確実ではありません。そして、まだバグと移行の問題があります (たとえば、前回チェックしたとき、g++ は C++98 に義務付けられた値で同等のマクロをまだ定義していませんでしたが、私が知っているほとんどの人は、の実装を待つ代わりにそうしてくださいexport
)。
cl.exe、Microsoft コンパイラ? ほとんどの場合、C99 をサポートしていません。