所以,我可以写这样的代码:是否有Xcode在调试版本中自动设置的宏?
#ifdef [whatever]
// do stuff that will never show up in the production version
#endif
所以,我可以写这样的代码:是否有Xcode在调试版本中自动设置的宏?
#ifdef [whatever]
// do stuff that will never show up in the production version
#endif
如果你可以假设调试版本始终使用gcc -O0
(这是正常的情况,但也有可能是奇数例外,其中有人已更改优化级别调试版本),那么你可以这样做:
#if __OPTIMIZE__
// ... non-debug stuff ...
#else
// ... debug stuff ...
#endif
没有按默认情况下是有用的,但对于调试版本在“预处理宏”的目标你可以设置一个DEBUG
宏建设置,然后执行:
#ifdef DEBUG
// do stuff
#endif
如果你想自动执行,编辑项目模板"/Developer/Library/Xcode/Project Templates"
:
name = Debug;
的XCBuildConfiguration
部分。buildSettings
添加DEBUG
到列表GCC_PREPROCESSOR_DEFINITIONS
如果存在GCC_PREPROCESSOR_DEFINITIONS = (DEBUG);
到buildSettings
对于每个用户自定义,并避免它们被覆盖,见this question。
很明显。 。 。问题是,我必须在每个项目的每个目标中设置DEBUG宏,以便移植相关代码。 – 2010-07-11 18:12:04
我相信这是现在默认设置(DEBUG = 1) – vish 2012-11-09 23:22:10
见下文。使用#if DEBUG – vish 2012-11-09 23:22:55
我读过__OPTIMIZE__没有在XCode 4中一直设置。你确认吗? – Oliver 2013-06-29 00:27:33