36

我似乎无法#elifdef在我的 iOS 项目中工作。如果我这样做:

#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

然后底部的一个(在 else 下)被突出显示,而顶部的两个没有。为什么?我应该这样做吗?我有三个目标,它们都使用相同的 m 文件。但是,每个目标的常量都有些不同,所以我以这种方式将它们分开。

4

1 回答 1

99

你可以简单地写:

#elif defined X

它应该与所有 ANSI-C 兼容的编译器兼容。

于 2012-05-10T06:36:44.773 回答