为什么人们将自己的文件夹添加到标准包含路径?

时间:2013-09-28 20:34:26

标签: c include include-path

在GitHub上查看不同的有趣项目时,我遇到了以下文件:

https://github.com/charliesome/slash/blob/master/src/lib/regexp.c

似乎他以与标准标题相同的方式包含他自己的文件:

#include <slash/lib/regexp.h>

而不是这样:

#include "slash/lib/regexp.h"

我猜他改变了包含路径以使其成为可能,但我的问题是:为什么?这种情况(包括你自己的头文件)不是引用语法吗?

2 个答案:

答案 0 :(得分:1)

对于中等大小且特别是可安装项目的项目,将标题存储在项目根目录下的include/单独目录中而不是C文件旁边通常更方便。

将此目录添加到包含路径后,<>""的选择将成为一种风格 - ""仅对相对路径是必需的,或者如果您通过以下方式添加包含目录-iquote代替-I,这并不是特别常见。

使用""的论据是将标题明确标记为特定于项目。

使用<>的一个参数是用户名和库代码中的头包含内容相同。

答案 1 :(得分:0)

只需更改Makefile中的包含路径,即可轻松更改项目的目录结构。例如,您可能已经开始使用myproj/src中的所有标题,并且您现在希望为所有标题添加额外的myproj/include文件夹。