仅在设置标志时如何将代码包括在构建中?
|
我在我的应用程序中添加了一些调试代码,仅在需要时才调用。我记得有一种“ 0”可用于有条件地将代码包含到源文件中。
例如,我可能有这样的事情:
IFDEF kDebugEnabled == YES {
// some debugging code here
}
然后,仅当kDebugEnabled为YES时,才将这段代码编译为二进制文件。
我该怎么做?
请注意:我不想使用项目编译器标志设置。我只想定义一个布尔值(或正好达到目的的东西),然后将其设置为true或false,然后例如在我的App Delegate中轻松设置它。我发现很难导航到项目编译器设置,搜索标志然后进行设置。我知道有一个调试标志可能有用。
没有找到相关结果
已邀请:
2 个回复
先对冈蒲
您可以像这样以编程方式定义
:
可以是对您有意义的任何字符串,以记住您为什么要包含/排除该代码段。
常数是一个特殊的预处理器常数,在构建代码进行调试时,编译器将为您特别定义该常数,因此您可以简单地使用它:
考虑到这是您使用的C预处理程序,而不是C,也不是Objective-C,因此根本不可能进行类似于
的测试(其中kDebugEnabled是Objective-C变量)。您可以为常量定义整数值,如下所示:
然后测试一下:
青董据零
默认情况下,Xcode具有两种配置,分别是
和
。使用调试构建配置等时,它会设置DEBUG编译器标志,然后您可以使用该标志有条件地编译代码。完全不需要弄乱编译设置。