所以我可以编写这样的代码:
#ifdef [whatever]
// do stuff that will never show up in the production version
#endif
答案 0 :(得分:5)
默认情况下没有任何用处,但您可以在目标构建设置的“预处理器宏”中为调试版本设置DEBUG
宏,然后执行:
#ifdef DEBUG
// do stuff
#endif
如果要自动执行此操作,请在"/Developer/Library/Xcode/Project Templates"
中编辑项目模板:
XCBuildConfiguration
。name = Debug;
部分
buildSettings
添加DEBUG
到GCC_PREPROCESSOR_DEFINITIONS
的列表(如果存在)GCC_PREPROCESSOR_DEFINITIONS = (DEBUG);
添加到buildSettings
对于每用户自定义并避免被覆盖,请参阅this question。
答案 1 :(得分:3)
如果你可以假设调试版本总是使用gcc -O0
(通常就是这种情况,但可能有奇怪的例外情况,有人改变了调试版本的优化级别),那么你可以这样做:
#if __OPTIMIZE__
// ... non-debug stuff ...
#else
// ... debug stuff ...
#endif