C语言中,包含头文件有两种方法:
1.#include <headfile.h>
2.#include "headfile.h"
那么这两种如何取舍呢,学校里老师告诉我们,如果是系统提供的头文件,用第一种,如果是包含用户定义的头文件,用第二种。
到底怎么回事儿呢?是类似于命名规范这样大家的约定吗?
巧了,不就我就在看书的时候找到了答案!!!
学Linux时看到讲gcc编译的部分:
“对于第一种,编译器gcc在系统预设包含文件目录(如/usr/include)中查找对应的头文件headfile.h。而对于第二种,编译器gcc首先在当前目录中查找头文件,如果当前目录中没有找到需要的头文件,就到指定的dirname中去寻找。” ——《Linux C编程实战》
(另外,如果在编写大型程序,我们往往把头文件单独放在一个目录中,这时就需要让编译器到指定目录中查找头文件,应该使用gcc选项:-Ldirname ,即告诉编译器到名为dirname的目录中查找头文件。
当需要链接函数库时,应该使用gcc选项:-lname, 告诉编译器在链接时先装载名为libname.a的函数库,再到系统默认的路径(如/usr/lib)中寻找所需要的库文件)