如果常量为 FALSE、0 或未定义,则编译一段代码。
#ifndef <idConstant>
<Statements>...
[#else]
<Statements>...
#endif
<idConstant> | 常量的名称,需要验证该常量是否存在。 |
#ifndef...#endif可以在指定常量定义为FALSE或0或未定义时,确定要包含的源代码部分,从而执行条件编译。 如果 #ifndef 条件失败,#else 语句指定要包含的代码,而 #endif 则终止条件编译块。
注意:您可以将 #ifndef 用于常量以外的编译器实体,如函数和全局。 在这种情况下,语句只测试实体是否存在,而不查看实体的值。
示例
该代码片段是使用 #ifndef 进行有条件编译的一般结构。 由于常量 lDebug 被设置为 FALSE,因此 #ifndef 和 #else 语句之间的代码将被编译,而 #else 和 #endif 语句之间的代码将被忽略:
DEFINE lDebug := FALSE
FUNCTION Start()
#IFNDEF lDebug
<Optimized version OF code>...
#ELSE
<Debugging version OF code>...
#ENDIF
对 DEFINE 语句进行如下修改后,代码将在 #else 和 #endif 语句之间生成。
DEFINE lDebug := TRUE