条件编译的命令的三种形式
“ 条件编译”命令允许对程序中的内容选择性地编译,即可以根据一定的条件选择是否编译。 条件编译的命令主要有以下几种 :
形式1 #ifdef 程序段 I #else 程序段 2 #endif 它的作用是当 “ 标识符”已经由# d e f i n e定义过了。则编译“ 程序段 1 ” 。 否则编译“ 程序段 2 ” 。其中如果不需要编译“ 程序段 2 ”。则上述形式可以变换 为: #ifdef 标识符 程序段 1 #endif
形式2 #ifndef 标识符 # define 标识符 程序段 1 #else 程序段 2 #endif 它的作用是当 “ 标识符 没有由# d e f i n e定义过。 则编译“程序段 1”。否则编译“程序段 2” 。同样当无“ 程序段2 ”时。则上述形式变换为: # ifndef 标识符 # define 标识符 程序段 1 #endif
形式3 #if 表达式 程序段 1 #else 程序段 2 #endif 它的作用是 当“表达式”值为真时。编译程序段1。否则则编译程序段 2。同样 当无程序段 2时,则上述形式变换 为 : #if 表达式 程序段 1 #endif 以上三种形式的条件编译预处理 结构都可以嵌套使用。 当# e l s e后嵌套 # i f 时,可以使用预处理命令 # e l i f , 它相 当于 # e l s e# i f 。在程序中使用条件编译主要是为了方便程序的调试和移植。
