编译器通常首先通过搜索相对于当前处理的源文件文件夹的路径来实现#include "path/file.h"
。
所以问题是:在使用带引号和三角括号的#include
时,它在实践中如何影响编译时间?
问题仅适用于"path/to/file/filename.h"
是当前处理的标头的相对路径的情况,因为否则它的行为类似于#include <…>
。
对于您自己的文件,正确设置的#include "…"
应该比大型项目中的#include <…>
更快(500个或更多文件)。
修改:有关#include "…"
和#include <…>
之间差异的其他问题似乎无法解决编译时间问题。此外,标准含糊不清,但大多数编译器确实使用"…"
来搜索当前文件夹。
Edit2 重新标记了标题和问题。我将接受任何这些C ++编译器的答案:Visual Studio,Intel,Clang,Gcc。