首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >目标C "#if“语法

目标C "#if“语法
EN

Stack Overflow用户
提问于 2011-10-07 10:04:53
回答 2查看 14.2K关注 0票数 22

当我查看一些类时,我对"pound if“或#if语法感到有点困惑。

例如:

代码语言:javascript
复制
#if someConstant == someNumber
  do something
#elif
  etc

对比:

代码语言:javascript
复制
if (someConstant == someNumber) 
   do something
else if {
   do more stuff
}

有什么区别,为什么要使用#if

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-07 10:09:09

#if等都是预处理器指令。这意味着它们是在编译之前处理的,而不是在运行时。例如,在定义仅在为debug而不是release生成时才编译的调试行为时,这可能很有用

代码语言:javascript
复制
#if DEBUG
    #define ISRelease(x) [x release]
#else
    #define ISRelease(x) [x release], x = nil
#endif

(代码由Jeff LaMarche的blog提供。)

这样,你就不需要在提交应用程序之前浏览整个应用程序的代码,也不需要删除大量调试代码。这只是使用这些指令的一个小示例。

票数 34
EN

Stack Overflow用户

发布于 2016-03-07 12:26:14

前面的答案涵盖了从调试到术语的#if用法,并且遗漏了一个更常见的用法:#if用于注释大量代码。当程序员需要删除一些已经包含注释的东西时,这是很有用的。

代码语言:javascript
复制
#if 0
  a lof of C code with /* style */ comments included
#endif

我确实用得很多。它比任何其他#if和注释风格都更有优势--它真的不关心其中的大部分错误语法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7682400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档