c++ - #include <文件名> 和 #include "filename"有什么区别?

标签 c++ c include header-files c-preprocessor

include 中使用尖括号和引号有什么区别?指令?

  • #include <filename>
  • #include "filename"

最佳答案

不同之处在于预处理器搜索要包含的文件的位置。

  • #include <filename>预处理器以实现定义的方式搜索,通常在编译器/IDE 预先指定的目录中。此方法通常用于包含 C 标准库的头文件和与目标平台相关的其他头文件。

  • #include "filename"预处理器还以实现定义的方式进行搜索,但通常用于包含程序员定义的头文件,并且通常包含与包含指令的文件相同的目录(除非给出了绝对路径)。

对于 GCC,GCC documentation on search paths 中提供了更完整的描述.

关于c++ - #include <文件名> 和 #include "filename"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19165727/

相关文章:

C++ 检查 header 是自给自足的

c++ - 异常处理

c++ - std::async 函数串行运行

c++ - 无符号字符的字符串

javascript - 如果我包含标题,CSS/JS 将无法工作

c# - 删除不必要的命名空间(使用)指令是否有性能提升?

c++ - 为什么我可以使用以 0 大小 : Char ch[0]; 启动的数组

c# - 在 C# 上用 union 声明 C 结构

c - 这是 C 中 strcmp() 的唯一返回值吗?

c - 为什么按位 'and' 、 'xor' 和 'or' 具有不同的优先级?