rlb*_*ond 41 c++ include c-preprocessor
我查看了C++编程语言,试图找到答案.当我#include "my_dir/my_header.hpp"在标题中,它在哪里寻找这个文件?是相对于包含它的源文件或其他内容的标题?
这取决于您在#include指令中使用的语法:
#include "path-spec"
#include <path-spec>
Run Code Online (Sandbox Code Playgroud)
引用形式:此表单指示预处理器在包含#include语句的文件的同一目录中查找包含文件,然后在包含(#include)该文件的任何文件的目录中查找.然后,预处理器沿/ I编译器选项指定的路径搜索,然后沿INCLUDE环境变量指定的路径搜索.
Angle-bracket形式:此表单指示预处理器首先沿/ I编译器选项指定的路径搜索包含文件,然后在从命令行编译时,沿INCLUDE环境变量指定的路径搜索.
path-spec是一个文件名,可选地在目录规范之后.文件名必须命名现有文件.path-spec的语法取决于编译程序的操作系统.
此信息应位于特定C++预处理器参考的文档中,以上内容摘自MSDN上有关此主题的更多内容.