2

可能重复:
#include <文件名> 和#include “文件名”有什么区别?

我在 C 学习中遇到了一些问题,我快速搜索了这个网站上的问题,但找不到这个问题的答案。这可能有点愚蠢,但就是这样。

我一直在关注一些 c 教程,整本书的所有内容都是这样完成的:

#include <stdio.h>
#include <string.h> etc. etc.

然而,突然之间,他们丢下了这个炸弹:

#include <stdio.h>
#include "structSize.h"

完全没有解释为什么"..."要使用,我完全傻眼了。任何人都可以解释一下它们之间的区别<...>以及"..."何时使用它们。

谢谢您的帮助。
问候,
迈克

4

2 回答 2

8

通常,您使用#include "..."项目中的文件和#include <...>“系统”包含文件。

区别在于预处理器根据要包含的名称搜索文件的方式和位置。 ""语法通常会首先搜索当前文件的目录。但是,实际的搜索机制是特定于编译器的,因此您需要查看 C 编译器的文档以获取有关每个选项使用的实际路径的详细信息。

有关详细信息,请参阅包含来自 GCC 的语法以获取一种实现的示例。

于 2012-08-08T16:46:58.530 回答
2

随着""文件将在包含某些内容的文件所在的目录中搜索,如果找不到包含,编译器将在标准包含目录中查找(它取决于编译器在哪个文件夹中)。

使用<>编译器将直接查看包含目录,而不查看任何其他目录。

于 2012-08-08T16:50:54.380 回答