C++ 他们所说的“是什么意思?”;然后在quote目录中";?
在第8页中,我们有以下声明:C++ 他们所说的“是什么意思?”;然后在quote目录中";?,c++,c,include-path,C++,C,Include Path,在第8页中,我们有以下声明: #包括“文件” 此变体用于您自己的头文件 节目。它首先在目录中搜索名为file的文件 包含当前文件,然后在quote目录中然后 与使用的目录相同。您可以将目录前置到 带有'-iNote'选项的报价目录列表 “then in the quote directories”是什么意思?gcc接受几种描述包含目录的命令行参数: -I-在#包含表单的情况下搜索,如果其他方法失败,则在#包含“文件”表单 -iNote-如果目录中未找到包含文件的文件,则仅在#include“fi
#包括“文件”
此变体用于您自己的头文件
节目。它首先在目录中搜索名为file
的文件
包含当前文件,然后在quote目录中然后
与
使用的目录相同。您可以将目录前置到
带有'-iNote'
选项的报价目录列表
“then in the quote directories”是什么意思?gcc接受几种描述包含目录的命令行参数:
-I
-在#包含
表单的情况下搜索,如果其他方法失败,则在#包含“文件”
表单
-iNote
-如果目录中未找到包含文件的文件,则仅在#include“file”
表单的情况下搜索。它定义了这些“报价目录”。文档中说:
您可以使用“-iNote”选项将目录前置到报价目录列表中
因此,“quote目录”是那些使用“-iNote”选项1作为参数传递的目录。该选项的文档说明:
-伊库特酒店
搜索目录仅搜索使用“#include”file”请求的头文件;首先,它们不会被搜索到“#include1从理论上讲,是来自其他来源。我不知道quote Dir的任何其他文件来源;似乎没有记录默认列表。我假设默认情况下列表为空。C标准规定: 6.10.2源文件包含
约束
#include
指令应标识可由实现处理的头文件或源文件。语义
表单的预处理指令
# include <h-char-sequence> new-line
# include "q-char-sequence" new-line
导致将该指令替换为源文件的全部内容,源文件的全部内容由“
分隔符之间的指定序列标识。将以实现定义的方式搜索命名的源文件。如果不支持此搜索,或者如果搜索失败,则将重新处理该指令,如同它已读取一样
# include <h-char-sequence> new-line
#包括新行
具有与原始指令相同的包含序列(包括
字符,如果有)
总之,quote目录是在搜索标准包含路径中的目录之前,以实现定义的方式搜索的目录。根据我的经验,“quote目录“不是一个标准术语。相反,这似乎是对那些通过#include
的引号形式而不是尖括号形式搜索的目录的特别描述。它可能来自用于指定可在其中找到标题的目录的命令行选项(在链接文档的第63-64页中介绍)
认为“包含目录”-I dir
被添加到搜索所有dir
指令的目录列表中#include
认为“系统包含目录”<代码>目录添加到带有系统标题的目录列表(前面)。(这些标题传统上使用角括号形式的-isystem dir
,但这不是一个要求。)由于系统标题的目录由两种形式的#include
搜索,因此此选项与#include
基本上是冗余的(或者可能-I
应该被视为基本冗余)-I
认为“引用包含目录”-iNote目录
被添加到(最初为空)目录列表中,以搜索用dir
的引号形式指定的标题。(这些标题通常是您编写的,但不强制执行。)不会在这些目录中搜索尖括号版本#include
因此,“报价目录”是指
#include
报价表单的标题所在的目录,而不是尖括号表单。通常,不需要这种精度级别,而-I
选项就足够了。(因此不需要“报价目录”的标准术语)报价目录是用-iNote
明确指定的目录。没有默认的引用目录。fwiw第2.3节中以“f您需要对搜索路径进行单独控制…”开头的段落可能会对使用的术语有所帮助。我认为第一个引用在解释什么是“引用目录列表”方面没有说服力,因为在列表之前必须先有一个列表。但我想这是太过挑剔了。尽管如此,它还是让我产生了一个小小的疑问,即当没有任何东西通过-iNote
@eerorika传递时,列表中是否也有一些东西。我删除了我的评论,因为我对此表示怀疑。@idclev463035818这基本上就是我所想的。@idclev463035818空列表仍然是一个列表,可以预先设置它。当该选项被多次使用时,了解列表元素的顺序很重要,我认为这就是文档所说的原因。默认报价目录的可能性似乎既没有列出,也没有明确表示为不存在。不要忘记-isystem
开关。还有相关的--sysroot
。