【问题标题】:visual studio 2005 C++ include pathVisual Studio 2005 C++ 包含路径
【发布时间】:2013-09-18 06:57:21
【问题描述】:

在可视化 C++ 项目中,#include "abc/def/g.h" 表示: 嘿编译器,到包含路径的any(如果找到多个,首先找到;如果没有找到,则尝试项目文件所在的目录)在同一磁盘目录下的abc文件夹,然后再进一步进入 def 文件夹并将 gh 文件包含在其中。

是真的吗?

关键是,#include 中出现的路径是磁盘上的物理路径,对吧?

谢谢

【问题讨论】:

  • 更正:不是project文件所在目录,而是包含source文件(.c或.cpp)所在目录.它是最先搜索的,而不是最后一个。
  • right - 首先搜索,因为它是双引号;如果我没记错的话,如果它在 中,它将被最后搜索。感谢您的快速回复!
  • 如果你#include <...>,则根本不会搜索源文件的目录。只会搜索包含目录。
  • @John 不,这是一个常见的误解(这就是我列出扩展的原因)。只有原始源文件的位置很重要。
  • @Angew 否。“”包含文件的搜索路径是实现定义的,因为 是标准强制要求的,许多常见的实现使用 #include 语句搜索文件的目录。 Question 179213 有更多详细信息和参考链接。

标签: c++ path include


【解决方案1】:

是的,您的分析是正确的,路径对应于磁盘上的物理路径。

但是,当标头包含在 <>"" 中时,会有所不同。当包含在<> 中时,标头出现在标准标头位置。但如果包含在"" 中,则它是项目目录中存在的用户定义的头文件。

【讨论】:

  • 不是项目目录,是#include的源文件目录。如果在那里找不到,则会搜索标准标题位置。
猜你喜欢
  • 2016-07-07
  • 1970-01-01
  • 2011-04-06
  • 2021-05-07
  • 2012-11-02
  • 1970-01-01
  • 2021-02-11
  • 1970-01-01
  • 2011-02-10
相关资源
最近更新 更多