Должен ли открытый заголовок библиотеки C #include другие заголовки с двойными кавычками или угловыми скобками? - PullRequest
0 голосов
/ 06 декабря 2018

Есть ли известное преимущество использования #include "..." вместо #include <...> для директив включения, помещаемых в общедоступные заголовки?

Например, если задан общедоступный заголовочный файл, который должен включать файл помимо него, он долженон использует:

#include "file.h"

или

#include <mylib/file.h>

(при условии, что заголовки установлены в подкаталоге mylib каталога include install)?

Среди общихна практике libxml2 использует угловые скобки , а curl использует двойные кавычки .

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Если вы используете угловые скобки и есть файлы в (в разных каталогах включений), вы можете получить неправильный.Если вы используете «file.h», у вас больше шансов получить ожидаемый результат.

Двойные кавычки могут также позволить людям использовать вашу библиотеку без добавления каких-либо включаемых каталогов.

В принципе, если у вас есть выбор, я бы порекомендовал двойные кавычки.

0 голосов
/ 06 декабря 2018

Общее правило заключается в использовании угловых скобок для включения заголовочных файлов, которые являются частью системы, и кавычек для всего остального.

...