gpt4 book ai didi

ios - #ifdef DEBUG 与 #if DEBUG

转载 作者:IT老高 更新时间:2023-10-28 11:35:45 31 4
gpt4 key购买 nike

在使用编译器指令时,我不清楚以下两个代码片段中哪一个是正确/首选的,以及为什么。似乎我见过的大多数开发人员和开源项目都使用第一种,但我也看到第二种也经常使用。

#ifdef DEBUG
[self doSomethingOnlyWhenDebugging];
#endif

对比

#if DEBUG
[self doSomethingOnlyWhenDebugging];
#endif

以上哪些代码片段更适合仅在调试时运行代码,为什么?我的猜测是,如果 DEBUG 被定义为 TRUE 或 FALSE,第一个将运行,而第二个将仅在 DEBUG 定义并设置为 TRUE 时运行。对吗?

最佳答案

你是对的。如果 DEBUG 被定义为 0#if DEBUG 将不会计算。

至于何时使用每个,你可以坚持使用 #ifdef 来处理任何你只需要 add 代码,如果预处理器定义存在的话,例如添加调试日志。如果您需要检查值并使用不同的编译路径,那么我会使用 01TARGET_IPHONE_SIMULATOR 就是一个很好的例子,它始终是为 iOS 项目定义的,但如果您正在为模拟器进行编译,则只有 1

关于ios - #ifdef DEBUG 与 #if DEBUG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16245633/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com