条件编译就是在编译源程序时,对源程序中的部分语句有选择性地进行编译。符合条件的部分或没有限制条件的部分参与编译,不符合条件的那部分不参与编译。
条件编译命令的三种形式:
第一种:
#ifdef 标识符
程序段1
#else
程序段2
#endif
该预处理命令的功能时判断标识符是否在前面用#define定义过,若定义过,则程序段1参加编译;否则,程序段2参加编译。其中,命令中的#else及其后的程序段2可以省略。
第二种:
#ifndef 标识符
程序段1
#else
程序段2
#endif
该预处理命令的功能与第一种形式类似,只是作用相反。功能是判断标识符是否在前面用#define定义过。若没有定义过,则程序段1参加编译;否则,程序段2参加编译。
第三种:
#if 表达式
程序段1
#else
程序段2
#endif
该预处理命令中的表达式必须是常量表达式,若表达式的值非0(真),则程序段1参加编译,否则,程序段2参加编译。其中,命令中的#else及其后的程序段2可以省略。
C语言中的条件编译详解
条件编译在C语言中允许根据特定条件选择性编译代码块,主要由#define定义的标识符控制。三种形式包括:1) 判断标识符是否已定义,已定义则编译段1,否则编译段2;2) 未定义标识符则编译段1,已定义编译段2;3) 根据常量表达式的值决定编译段1或段2。
596

被折叠的 条评论
为什么被折叠?



