#IFDEF | #IFNDEF ... #ENDIF 预处理器命令

来源:互联网 发布:mac系统玩lol 编辑:程序博客网 时间:2024/05/21 17:30
 

#IFDEF | #IFNDEF ... #ENDIF 预处理器命令

示例 请参阅

编译期间,根据是否定义了某一个编译常量,决定一段代码是否要编译。

语法

#IFDEF | #IFNDEF ConstantName
Commands
[#ELSE
Commands]
#ENDIF

参数
#IFDEF

指定如果已定义了 ConstantName 指定的编译常量,则编译一段程序代码。
下面描述如何根据 #IFDEF 预处理器命令确定要编译的程序代码:

  • 如果定义了 ConstantName,则要编译从 #IFDEF 到 #ELSE 或者 #ENDIF (取决于哪个在前面)之间的程序代码。
  • 如果没有定义 ConstantName,但有 #ELSE 命令,则编译 #ELSE 到 #ENDIF 之间的程序代码。
  • 如果没有定义 ConstantName,也没有 #ELSE 命令,则 #IFDEF ... #ENDIF 结构中的所有程序都不编译。

#IFNDEF

当没有定义 ConstantName 指定的编译常量时,指定要编译的一组程序代码。
下面描述如何根据 #IFNDEF 预处理器命令决定要编译的程序代码:

  • 如果没有定义 ConstantName,则编译 #IFNDEF 到 #ELSE 或者 #ENDIF(取决于哪个在前面)之间的程序代码。
  • 如果已经定义了 ConstantName,并且有 #ELSE 命令,则编译 #ELSE 到 #ENDIF 
    之间的程序代码。
  • 如果定义了 ConstantName,但没有 #ELSE 命令,则 #IFNDEF ... #ENDIF 结构中的所有程序都不编译。

ConstantName

指定编译时间所用的常量。它的存在决定了是否编译某一组程序代码。编译常量由 #DEFINE 命令定义。

Commands

指定要编译的程序代码。

说明

一个 #IFDEF | #IFNDEF ... #ENDIF 结构可以嵌套另一个#IFDEF | #IFNDEF ... #ENDIF 
结构。
注释可以放在 #IFDEF、#IFNDEF、#ELSE 
和 #ENDIF 所在行的后面。这些注释在编译和程序运行期间将被忽略。

原创粉丝点击