在编程中,经常会遇到这种情况,我们的某一个程序会调用多个DLL,因此需要包含多个头文件,不同的头文件可能包含了相同某一个下一级头文件,这就可能会导致头文件的重复包含,从而导致变量/函数的重定义等等,为了解决这个问题,就要求我们在编写Dll的时候,使用#ifndef … #define …#endif来保证头文件的唯一性。
具体做法为:
(1)头文件的时候,在头文件的最前面写上一些两行,意思是如果没有定义这个头文件,我们就进行定义。
#ifndef base_model_h
#define base_model_h
其中base_model_h一般为你的头文件的名字,也就是说,如果你编写的头文件名称为my_head_declare.h,则这两行应该为
#ifndef my_head_declare_h
#define my_head_declare
(2)在(1)完成后,开始定义你的头文件内容,例如#include了、引用Dll了,变量定义了等等。
(3)在(1)(2)都完成之后,在头文件的最后面加上#endif作为结尾。
整体结构为:
#ifndef 头文件名称
#define头文件名称
头文件内容
#endif