36

#elifdefiOSプロジェクトで作業できないようです。私がこれを行う場合:

#ifdef X
const Foo bar[] = { ... };
#else
const Foo bar[] = { ,,, };
#endif

次に、上の方(Xの下)が強調表示され、下の方は強調表示されません。私がこれを行う場合:

#ifdef W
const Foo bar[] = { ;;; };
#elifdef X
const Foo bar[] = { ... };
#else
const Foo bar[] = { ,,, };
#endif

次に、下の1つ(elseの下)が強調表示され、上の2つは強調表示されません。なんで?これを行う別の方法はありますか?私には3つのターゲットがあり、それらはすべて同じmファイルを使用します。ただし、定数はターゲットごとに少し異なるため、このように分離します。

4

1 に答える 1

99

あなたは単に書くことができます:

#elif defined X

これは、すべてのANSI-C互換コンパイラと互換性があるはずです。

于 2012-05-10T06:36:44.773 に答える