#ifdef 0
C ++では、プログラマーがコードの実行をブロックするために使用することを知っていますが、この同じプロジェクトでは、多くのが表示され#ifdef 1
ます。これは、コードが常に実行されることを意味しますか?残念ながら、コードはコンパイルされないので、実行してテストすることはできません。
7686 次
1 に答える
12
#ifdef 1
整形式ではありません。#ifdef
ディレクティブには単一の識別子が必要です。1
は識別子ではありません。
#ifdef x
と同等#if defined(x)
です。前defined
処理演算子はtrue
、識別子が定義されたマクロ(つまり、で定義され#define
、まだ定義されていないマクロ#undef
)を指定した場合、またはそれ以外の場合に生成されfalse
ます。
ディレクティブは、ディレクティブとそれに続く対応する、、、またはディレクティブ(ディレクティブのネスト)の#if
間の行のコンパイルを有効または無効にします。#else
#elif
#endif
おそらく、あなたが本当に探しているのは#if 1
(または#if 0
)であり、これは有効です。
于 2011-07-28T03:16:05.273 に答える