5

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

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

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

#include <slash/lib/regexp.h>

而不是这种方式:

#include "slash/lib/regexp.h"

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

4

2 回答 2

1

对于中等大小的项目,尤其是可安装的项目,将标头存储在单独的目录中(例如include/项目根目录下)而不是 C 文件旁边通常更方便。

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

使用的一个参数是""将标题显式标记为特定于项目。

using 的一个论点<>是在用户和库代码中包含的头文件看起来是一样的。

于 2013-09-28T20:49:10.500 回答
0

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

于 2013-09-28T20:48:18.767 回答