1. 文件包含,我们会使用 #include <xxxx.h>
2.为了避免重复包含,我们会使用宏定义来避免重复包含。
#ifndef XXXX_H
#define XXXX_H
#endif
3. 这样虽然达到了避免重复包含的作用,但是我们只要在文件中使用#include <xxxx.h>,那么就需要打开这个xxxx.h文件来查看是否已经定义了XXXX_H,即是否已经包含了xxxx.h文件,依旧使得连接过程很慢,特别是文件数量极多,连接过程可能达到几个小时,甚至几天。
方法: 在每个#include<xxxx.h>的地方,修改为
#ifndef XXXX_H
#include<xxxx.h>
#endif
如此就避免了在连接过程中反复打开文件xxxx.h来查看是否已定义了红定义。
4. 对于一些第三方,无法查看其.h文件中宏定义名称时,我们可以在#include 后主动添加一个宏定义。
如,
#ifndef SECRET_MATH_H
#include <SECRET_MATH.h>
#define SECRET_MATH_H
#endif