在 xcode 中,在使用 gcc 编译应用程序时,如果发行版启用了 NSZombieEnabled 之类的功能,我想抛出编译时错误,从而确保编译失败,并且我不会意外地做一些愚蠢的事情。
我做了一些谷歌搜索,但无法弄清楚如何在满足特定条件时使编译器退出。当然,这一定很容易,我只是没有找到它吗?
最佳答案
#if SHOULD_FAIL
#error "bad compiler!"
#endif
int main()
{
return 0;
}
$ gcc a.c -DSHOULD_FAIL=0 # passes fine $ gcc a.c -DSHOULD_FAIL=1 a.c:2:2: error: #error "bad compiler!"
由于 NSZombieEnabled
是一个环境变量,因此您需要在构建脚本中巧妙地将宏定义为零或一。
严格来说,#error
指令发生在 C 预处理器中,而不是 gcc
中。但这对于您所描述的情况来说并不重要。
关于iphone - 如何在 GCC 和 Xcode 中手动引发编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994490/