#include <filename> 和 #include "filename" 的区别
Difference between #include <filename> & #include "filename"
这是 C 中的预处理器指令:
#include <filename>
我们也可以这样写:
#include "filename"
这两个有区别吗?
一般来说,<>
版本应该只在"system directories"中查找,而""
应该先在"local directories"中查找,然后是系统目录。
这实际意味着什么取决于实现。在大多数情况下 ""
将首先在 current 目录中查找,但在某些实现中它会首先在源 (.c
) 文件的目录中查找(并且一些编译器有一个开关)。此外,行为也不同 w.r.t。如果 "local directory search" 失败(与 <>
或失败相同),"set of system directories" 进行搜索。
这是 C 中的预处理器指令:
#include <filename>
我们也可以这样写:
#include "filename"
这两个有区别吗?
一般来说,<>
版本应该只在"system directories"中查找,而""
应该先在"local directories"中查找,然后是系统目录。
这实际意味着什么取决于实现。在大多数情况下 ""
将首先在 current 目录中查找,但在某些实现中它会首先在源 (.c
) 文件的目录中查找(并且一些编译器有一个开关)。此外,行为也不同 w.r.t。如果 "local directory search" 失败(与 <>
或失败相同),"set of system directories" 进行搜索。