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 записываются в этот файл, угадывая имя целевого файла из имени исходного файла. Или значение может иметь вид 'файл цель', в этом случае правила записываются в файл файл с использованием цель как имени целевого файла.Другими словами, эта переменная среды эквивалентна объединению опций -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.Значение должно быть известной временной меткой, такой как время последнего изменения исходного кода или пакета, и оно должно устанавливаться процессом сборки.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/cpp/Environment-Variables.html