2.3 Путь поиска
По умолчанию, препроцессор ищет файлы заголовков, включённые в виде директивы с кавычками #include "file", сначала относительно каталога текущего файла, а затем в предварительно сконфигурированном списке стандартных системных каталогов. Например, если /usr/include/sys/stat.h содержит #include "types.h", GCC ищет types.h сначала в /usr/include/sys, а затем в своём обычном пути поиска.
Для угловых скобок #include <file>, поведение препроцессора по умолчанию заключается в поиске только в стандартных системных каталогах. Точный список каталогов поиска зависит от целевой системы, от того, как настроен GCC, и от места его установки. Вы можете найти стандартный список каталогов поиска для вашей версии CPP, вызвав её с опцией -v. Например,
cpp -v /dev/null -o /dev/null
Существует ряд командных опций, которые вы можете использовать для добавления дополнительных каталогов в путь поиска. Наиболее часто используемая опция — -Idir, которая заставляет препроцессор искать в каталоге dir после текущего каталога (для формы директивы с кавычками) и перед стандартными системными каталогами. Вы можете указать несколько опций -I в командной строке, в этом случае каталоги будут просматриваться слева направо.
Если вам нужна отдельная настройка путей поиска для форм директивы ‘#include’ с кавычками и угловыми скобками, вы можете использовать опции -iquote и/или -isystem вместо -I. Подробное описание этих опций, а также других, менее часто используемых, см. в разделе Вызов.
Если вы указываете другие опции в командной строке, например, -I, которые влияют на место поиска препроцессором файлов заголовков, список каталогов, выведенный опцией -v, отражает фактический путь поиска, используемый препроцессором.
Обратите внимание, что вы также можете предотвратить поиск препроцессором стандартных системных каталогов заголовков с помощью опции -nostdinc. Это полезно при компиляции ядра операционной системы или какой-либо другой программы, которая не использует стандартные средства библиотеки C, или самой стандартной библиотеки C.
Далее: Файлы заголовков, используемые только один раз, Предыдущее: Операция включения, Вверх: Файлы заголовков [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/cpp/Search-Path.html