Spec-Zone.ru › GCC 11 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-11.4.0/cpp/Search-Path.html

Spec-Zone.ru

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