#ifndef为if not define的简写,是宏界说的一种,它能够依据是否现已界说了一个变量来进行分支挑选,一般用于调试等等。为预处理功用中三种(宏界说、文件包括、条件编译)中的一种—-条件编译。
#define x
…
#endif
#ifndef x
#define x
程序段1//假如x没有被宏界说过,界说x,并编译程序段 1
…
#endif
程序段2//假如x现已界说过了则编译程序段2的句子,“忽视”程序段 1。
条件指示符#ifndef 的最主要意图是避免头文件的重复包括和编译。
条件编译当然也能够用条件句子来完成。 可是用条件句子将会对整个源程序进行编译,生成的方针代码程序很长,而选用条件编译,则依据条件只编译其间的程序段1或程序段2,生成的方针程序较短。假如条件挑选的程序段很长,选用条件编译的办法是十分必要的。