头文件交叉引用
尽可能将所需要包含的头文件文件在.c文件中包含定义如:#inlcude “x.h”,除非头文件必须的部分申明出现在其他头文件中定义过的结构体或者宏定义类型,这时候没办法,只能在.h中包含.h。
具体分析这样定义的原因:
1. 减少编译展开所需时间
虽然头文件中都加入了
一般编译不会再出现重定等错误,但是每次遇到#include的时候,都会将这段代码复制一边进行排查,而头文件多次被展开,会严重影响编译效率,且也没有什么好处。
2. 头文件的嵌套调用难免造成问题
两个.c文件相互调用彼此的内容是常有的事情,这时候如果处理不善则往往会遇到未声明之类的报错,这种情况需要你小心的调整#include”x.h”文件在编译过程中第一次出现的顺序。
直接将头文件文件相互写入到对方的头文件文件下这时候最容易出错。解决的办法一般是:1.将所有不需要写在头文件中的#inlcude写在#inlcude “.h”中。2.小心调整#inlcude “.h”的顺序,将需要依赖其他的那个调用放在后面,对于多次嵌套调用等情况,调整顺序时尤其需要注意顺序。