条件编译
一般情况下,源程序中的所有的行都参加编译。但是有时希望对其中一部分内容只在一定条件下进行编译,当条件不满足则编译另一组语句
#ifdef 标识符
程序段1
#else
程序段2
#endif
作用:已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2
例子:
一般情况下,源程序中的所有的行都参加编译。但是有时希望对其中一部分内容只在一定条件下进行编译,当条件不满足则编译另一组语句
#ifdef 标识符
#else
#endif
作用:已经被#define命令定义过,则在程序编译阶段只编译程序段1,否则编译程序段2
例子:
#define N 10 main() { #ifdef N printf("N defined!\n"); //程序段一 #else printf("N isn't defined!\n"); //程序段二#endif } 由于程序已经定义了N,所以编译时将会把程序段一编译时可执行文件,程序段二不会被编译进可执行文件中, 如果你把定义N的语句删除,则编译时只会编译程序段二了。
#ifdef _N
#define _N
代码
#endif