Show/Hide Toolbars

XSharp

用途

如果常量为 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

参见

#ifdef, DEFINE