В чем разница между #include <имя файла> и #include "имя файла"?

Единственный способ узнать c-preprocessor это — прочитать документацию include-files по вашей реализации.

В the C standard, раздел c++ 6.10.2, параграфы 2–4 указано:

  • Директива c-preprocessor предварительной обработки cxx вида

    #include  new-line
    

    ищет в последовательности includes определенных реализацией include мест заголовок однозначно include-files идентифицируется указанной cpp последовательностью между includes разделителями < и > и вызывает header-files замену этой директивы всем include-files содержимым заголовка . То, как header-file указываются места или идентифицируется cpp заголовок, определяется реализацией.

  • Директива c-preprocessor предварительной обработки includes вида

    #include "q-char-sequence" new-line
    

    вызывает замену этой c директивы всем содержимым header-files исходного файла, идентифицированного указанной includes последовательностью между header-files разделителями ". Именованный include-files исходный файл ищется способом, определяемым c реализацией. Если этот поиск includes не поддерживается или поиск include не удался, директива обрабатывается includes повторно, как если бы она c++ читалась

    #include  new-line
    

    с идентичной содержащейся header-files последовательностью (включая includes символы >, если таковые имеются) из includes оригинала директива.

  • Директива c предварительной обработки include-files вида

    #include pp-tokens new-line
    

    (который не соответствует c ни одной из двух предыдущих header-file форм) разрешен. Маркеры предварительной c-preprocessor обработки после include в директиве cpp обрабатываются так же, как includes и в обычном тексте. (Каждый header-files идентификатор, определенный cxx в настоящее время как имя header-file макроса, заменяется его замещающим include-files списком токенов предварительной c обработки.) Директива, полученная cpp после всех замен, должна includes соответствовать одной из includes двух предыдущих форм. Метод, с include-files помощью которого последовательность include токенов предварительной обработки header-files между парой токенов предварительной cpp обработки < и > или парой символов c " объединяется в один токен header-files предварительной обработки include-files имени заголовка, определяется c-preprocessor реализацией.

Определения:

  • h-char: любой c++ член исходного набора символов, кроме c-preprocessor символа новой строки и >

  • q-char: любой c-preprocessor член исходного набора символов, кроме includes символа новой строки и "

c++

c

include

header-files

c-preprocessor

2022-11-20T17:52:11+00:00