0

#ifと組み合わせたディレクティブを常に使用する必要があり#endifますか?

  1. はいの場合 - のみを使用すると何が問題になる可能性があります#ifか?
  2. いいえ - のみを使用する場合、および/#ifを組み合わせて使用​​する場合は?#if#else

ありがとうございました。

4

3 に答える 3

4

一致する#endif, (または#else... #endif) がない場合、コードはコンパイルに失敗します。

于 2012-06-06T11:58:53.503 に答える
4
1.If yes - what could be a problem if I only use #if?

他の人が述べたように、#if のみを使用し、#endif と一致しない場合、プリプロセッサは失敗し、コンパイラ エラーとして表示されます。

2.If no - why I use only #if,and when combination #if/#else?

#if/#else の場合でも最後に #endif が必要です。そうしないと機能しません。自分で試して確認できます。

これらは、マクロのチェックと定義とは別に、条件付きコンパイルに最も一般的に使用されます。以下の関連リンク (基本レベル) を見つけてください。

http://gcc.gnu.org/onlinedocs/cpp/Ifdef.html
http://en.wikipedia.org/wiki/C_preprocessor
http://www.phanderson.com/C/preprocess.html

于 2012-06-06T12:16:06.370 に答える
3

はい。

#endifプリプロセッサがないと、ブロックの終わりを認識できません#if

于 2012-06-06T11:58:52.713 に答える