13 Переменные среды
В этом разделе описаны переменные среды, влияющие на работу CPP. Их можно использовать для указания каталогов или префиксов для поиска файлов заголовков или для управления выводом зависимостей.
Обратите внимание, что вы также можете указать места для поиска, используя такие параметры, как -I, и управлять выводом зависимостей с помощью параметров, таких как -M (см. Вызов). Они имеют приоритет над переменными среды, которые, в свою очередь, имеют приоритет над конфигурацией GCC.
-
CPATH -
C_INCLUDE_PATH -
CPLUS_INCLUDE_PATH -
OBJC_INCLUDE_PATH -
Значение каждой переменной представляет собой список каталогов, разделенных специальным символом, аналогично
PATH, для поиска файлов заголовков. Специальный символ,PATH_SEPARATOR, зависит от целевой платформы и определяется во время сборки GCC. Для целевых платформ на базе Microsoft Windows это символ точки с запятой, а для почти всех остальных платформ это двоеточие.CPATHуказывает список каталогов, которые будут просматриваться так, как если бы они были указаны с помощью -I, но после любого пути, заданного с помощью параметров -I в командной строке. Эта переменная среды используется независимо от языка, который обрабатывается.Остальные переменные среды применяются только при предварительной обработке конкретного языка, указанного в них. Каждая из них определяет список каталогов, которые будут просматриваться так, как если бы они были указаны с помощью -isystem, но после любого пути, заданного с помощью параметров -isystem в командной строке.
Во всех этих переменных пустой элемент указывает компилятору искать в текущем рабочем каталоге. Пустые элементы могут появляться в начале или конце пути. Например, если значение
CPATHравно:/special/include, это имеет тот же эффект, что и ‘-I. -I/special/include’.См. также Путь поиска.
-
DEPENDENCIES_OUTPUT -
Если эта переменная установлена, её значение указывает, как выводить зависимости для Make на основе файлов заголовков, которые не являются системными, и обрабатываются компилятором. Системные файлы заголовков игнорируются при выводе зависимостей.
Значение
DEPENDENCIES_OUTPUTможет быть просто именем файла, в таком случае правила Make записываются в этот файл, угадывая имя целевого файла по имени исходного файла. Или значение может иметь вид ‘file target’, в таком случае правила записываются в файл file с использованием target в качестве имени целевого файла.Другими словами, эта переменная среды эквивалентна объединению параметров -MM и -MF (см. Вызов), а также с необязательным ключом -MT.
-
SUNPRO_DEPENDENCIES -
Эта переменная аналогична
DEPENDENCIES_OUTPUT(см. выше), за исключением того, что системные файлы заголовков не игнорируются, поэтому она подразумевает -M, а не -MM. Однако зависимость от основного входного файла опускается. См. Вызов. -
SOURCE_DATE_EPOCH -
Если эта переменная установлена, её значение указывает временную метку Unix, которая будет использоваться вместо текущей даты и времени в макросах
__DATE__и__TIME__, чтобы встраиваемые временные метки стали воспроизводимыми.Значение
SOURCE_DATE_EPOCHдолжно быть временной меткой Unix, определённой как количество секунд (исключая високосные секунды) с 01 января 1970 года 00:00:00, представленное в ASCII; идентично выводуdate +%sна GNU/Linux и других системах, поддерживающих расширение%sв командеdate.Значение должно быть известной временной меткой, например, последнего времени изменения исходного кода или пакета, и оно должно устанавливаться процессом сборки.
Далее: GNU Лицензия на свободную документацию, Предыдущее: Вызов, Наверх: Главная [Содержание][Указатель]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/cpp/Environment-Variables.html