包括"file.h"与有什么<file>区别?

include "file.h" vs <file> what is the difference?

本文关键字:file gt lt 区别 什么 包括      更新时间:2023-10-16

我在Visual studio 2010工作。我在项目属性->链接器->常规->附加目录中添加了一个目录

如果我使用,项目就会编译

 "file.h"

但如果我使用就不行

 <file>

您可能假设< >隐式地将.h添加到文件名的末尾。这不是真的。使用< >还是" "对文件名没有任何意义。它基本上告诉实现它应该遍历包含目录以找到头文件的顺序。

引用标准:

表单的预处理指令
# include <h-char-sequence> new-line
在实现定义的位置序列中搜索由<>分隔符之间的指定序列唯一标识的标头,并导致用标头的全部内容替换该指令。如何指定位置或确定标题是实施的定义。

表单的预处理指令
# include "q-char-sequence" new-line
导致用"分隔符之间指定序列标识的源文件的全部内容替换该指令。命名的源文件是以实现定义的方式搜索的。如果不支持此搜索,或者搜索失败,则指令将被重新处理,如同读取一样

# include <h-char-sequence> new-line
具有来自原始指令的相同包含序列(包括>字符,如果有的话(

"用于本地文件和<>来自C库中的文件。

include只有在存在这样的文件时才有效。在您的情况下,这可能是因为存在文件file.h,但请简单地注意文件

您可能认为它应该在任何地方都能工作,就像您在iostream.hiostream中看到的那样。这是因为它们是两个不同的文件,意味着两件不同的事情。