C库的公共标头应包含其他带双引号或尖括号的标头吗?

时间:2018-12-05 22:31:34

标签: c header-files

使用#include "..."代替#include <...>来将包含指令放置到公共头文件中是否有好处?

例如,给定一个公共头文件,除了它之外还需要包含一个文件,它应该使用:

#include "file.h"

#include <mylib/file.h>

(假设标头安装在include安装目录的mylib子目录中)?

libxml2 uses angle bracketscurl uses double quotes之间,是常见的做法。

2 个答案:

答案 0 :(得分:2)

一般规则是使用尖括号包含头文件,这些头文件是系统包含和引号的一部分。

答案 1 :(得分:-2)

如果使用尖括号,并且文件位于(在不同的包含目录中),则可能会得到错误的文件。如果使用“ file.h”,则更有可能获得您期望的文件。

双引号也可以使人们无需添加任何包含目录就可以使用您的库。

基本上,如果可以选择的话,我建议使用双引号。