1.预处理指令分类:
预处理功能 | 如下 |
---|---|
宏定义: | |
文件包含 | |
条件编译 |
2.条件编译目的:防止文件重复包含和编译
条件编译当然也可以用条件语句来实现。 但是用条件语句将会对整个源程序进行编译,生成的目标程序程序很长,而采用条件编译,则根据条件只编译其中的程序段1或程序段2,生成的目标程序较短。如果条件选择的程序段很长,采用条件编译的方法是十分必要的。
3.标识:以#开头的都是一条预编译指令
形式一
//先测试x是否被宏定义过
#ifdef x
//代码段1
#else
//代码段2
#endif
形式二
//先测试x是否被宏定义过,最主要目的是防止头文件的重复包含和编译
#ifndef x
//如果x没有被宏定义过,定义x,并编译程序段 1
//代码段1
#else
//如果x已经定义过了则编译程序段2的语句,“忽视”程序段 1
//代码段2
#endif