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



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

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

看起来他以与标准标头相同的方式包含自己的文件:

#include <slash/lib/regexp.h>

而不是这样:

#include "slash/lib/regexp.h"

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

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

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

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

使用 <> 的一个参数是标头包含在用户和库代码中看起来相同。

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

相关内容

  • 没有找到相关文章

最新更新