当您编写#include "foo.h"
时,我希望编译器首先检查执行包含的文件的目录(而不是当前目录),如果没有找到,则返回搜索列表在#include <foo.h>
的情况下的路径。
除非指定了绝对路径#include "/foo.h"
,否则只需要检查绝对路径。
是否存在规则不同的C编译器?
答案 0 :(得分:3)
Kernighan&amp;里奇写道:
[#include“foo”]首先搜索原始源文件(故意依赖于实现的短语),如果搜索失败,则与第一种形式一样。
这意味着,不要对报价的搜索策略做出任何假设。但是,我遇到的所有编译器都首先分享了在包含文件路径中搜索的实践,如果找不到,则回退到编译器的搜索路径。