一尘不染

#include <filename> 和 #include "filename" 有什么区别?

c

在 C 和 C++ 编程语言中,在语句中使用尖括号和使用引号有什么区别include,如下所示?

  1. #include <filename>
  2. #include "filename"

阅读 265

收藏
2022-01-26

共1个答案

一尘不染

实际上,区别在于预处理器搜索包含文件的位置。

对于#include <filename>预处理器以实现相关的方式进行搜索,通常在编译器/IDE 预先指定的搜索目录中。此方法通常用于包含标准库头文件。

对于#include "filename"预处理器,首先在与包含指令的文件相同的目录中搜索,然后按照用于#include <filename>表单的搜索路径进行搜索。此方法通常用于包含程序员定义的头文件。

搜索路径的 GCC 文档中提供了更完整的描述。

2022-01-26