2010年02月09日 GCC で条件コンパイル時に未定義の識別子を警告するコンパイラオプション GCC では -Wall を付けていても、条件コンパイル時に未定義のシンボル参照に対して警告が出ません。そのため、うっかり typo してしまった場合など、わかりにくいバグの原因となり得ます。 $ cat ifdef.c #if UNDEFINED_SYMBOL void f(void){} #endif $ gcc -Wall -c ifdef.c -Wundef オプションにより、警告が出るようになります。 $ gcc -Wall -Wundef -c ifdef.c ifdef.c:1:5: warning: "UNDEFINED_SYMBOL" is not defined VC++ では同様のオプションを見つけられませんでした。 /W4 でも警告は出ないようです。 「GCC」カテゴリ