What is the difference between <stdio.h> and “stdio.h”?
Possible Duplicate:
what is the difference between #includeand #include “filename”
在这两种情况下都没有错误……它们之间有什么区别吗?
理想情况下,您将使用
第二个版本被指定首先在实现定义的位置搜索,然后如果找不到文件,则在与
通常,实现将该位置定义为相对于包含文件的位置。
当您想说:"在系统的include目录中查找具有此名称的文件"时,可以使用include。当您想说:"在我自己的应用程序的include目录中查找具有此名称的文件;但是,如果找不到该文件,请在系统的include目录中查找。"
<>告诉编译器在库头中查找文件,并"告诉它在应用程序头中四处查找"。
至于为什么它们都适用于您,也许您的编译器也会在库头中查找文件名,以防在您的库头中找不到文件名。
通常,标准头文件用<>括起来,其他特定于用户的文件用"指定"。
对于我使用的编译器,"…"开始在与正在编译的源文件相同的目录中查找include文件,然后查找include路径。在include路径中以<…>开头,跳过当前模具,除非它位于include路径中。
参见http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html sec6
我的例子是"compiler first search the header file in your local directory,其中您的.c文件显示
而在<>编译器的情况下,只在头文件文件夹中搜索
不同的是,开发人员创建的头文件用"括起来。系统中已经存在的头文件用<>括起来。如果放置的目录不在编译器的搜索路径中,即使是<>头也需要-i指令。
底线:你的标题带有",系统标题带有<>
头在实现中不必存在,它们的标识方式是实现定义的(通常头是特定目录上的文件)。
当指令使用