Spec-Zone.ru › GCC 7 CPP

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-7.5.0/cpp/Search-Path.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API