gcc隐式依赖路径判断简易原则
要点:
- ① 如果是
#include "xxx.h"
优先拼接和查找-I
选项所带的路径,如果都没有找到,最后再查看一下当前文件所在路径下是否有xxx.h; - ② 如果是
#include <xxx.h>
优先查看当前文件所在路径,如果没有找到,再去查找-I
编译选项后面所带的路径; - ③ 应尽量避免同名.h出现在不同目录下,因为gcc可能找到的
.h
并不是预期想要的.h文件,对于代码维护造成一定风险; - ④ 应尽量避免使用隐藏的相对路径包含,如
#include "aaa/bbb/xxx.h"
,这样可以不在-I选项中显式的指明路径,对于后续的维护带来风险;