C语言,如何将文件从“XXX.h”包含到<xxx.h>“,也许使用Makefile?</xxx.h>

时间:2012-04-13 02:11:40

标签: c header include makefile

  

可能重复:
  What is the difference between #include <filename> and #include “filename”?

我刚参与了一个项目。

当我追踪项目代码时,我发现了

有些人可以通过这种方式包含头文件:

包括&lt; XXX.h&gt;

XXX.h是一个头文件,不在系统库中,由我们自己的程序员制作......

我的问题是如何使用'&lt;'和'&gt;'而不是双“?

以及如何通过这种方式在其他目录中包含标题?

例如:

页眉/ header_a.h 页眉/ header_b.h

我可以使用include&lt; header_a.h&gt;和&lt; header_b.h&gt; ...

我应该使用Makefile来实现这个吗?感谢..

2 个答案:

答案 0 :(得分:2)

双引号文件相对于当前目录引用:

#include "../file.h" // file from parent directory

您通常会将此用于自己的标题。


角括号中的文件是相对于为编译器指定的路径引用的:

#include <sys/bits.h> // file under, e.g.,  /usr/include
#include <thirdpartytools/somelib.h> // file under /path/to/third/party/includes

您通常将此用于系统或第三方标头,假设使用类似

的方式调用编译器
gcc -I/usr/include -I/path/to/third/party/includes ...

答案 1 :(得分:0)

&lt;&gt;通常表示系统标头,“”通常表示当前目录中的头文件(通常是头文件)。这里有资料/参考资料: Difference between angle bracket < > and double quotes " " while including header files in C++?