关于ifndef的解释
ifndef 是“if not defined”的简写,是预处理功能(宏定义、文件包含、条件编译)当中的条件编译,可以根据是否已经定义了一个变量来进行分支选择。
ifndef的作用
防止头文件的重复包含和编译
把头文件的内容都放在#ifndef和#endif中,不管你的头文件会不会被多个文件引用,最好都加上这个。格式是这样的:
#ifndef #define ............#endif
的写法:可以自由命名,但每个头文件的这个“标识”都应该是唯一的。标识的明明规则一般是头文件名全大写,前面加下划线,并把文件名中的”.”也变成下划线,如:study.h
#ifndef _STUDY_H#define _STUDY_H............#endif
便于程序的调试和移植
作为条件语句,调试程序时,常常需要对程序中的内容进行选择性地编译判断,即可以根据一定的条件选择是否编译。
举例说明:当“标识符”没有由#define定义过,则编译“程序段1”,否则编译“程序段2”
#ifndef 标识符程序段 1#else程序段 2#endif