Русская Википедия:Rpath

Материал из Онлайн справочника
Версия от 08:02, 17 июля 2023; EducationBot (обсуждение | вклад) (Новая страница: «{{Русская Википедия/Панель перехода}} {{к улучшению|2022-01-27}} {{lowercase title}} '''rpath''' — путь поиска библиотек и исполняемых файлов во время выполнения программы. '''rpath''' Hard coding|жёстко за...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Шаблон:К улучшению Шаблон:Lowercase title rpath — путь поиска библиотек и исполняемых файлов во время выполнения программы. rpath жёстко запрограммирован в исполняемом файле или библиотеке. Загрузчики библиотек (динамического связывания) используют rpath для поиска необходимых библиотек.

В частности, он кодирует путь к разделяемым библиотекам в заголовке исполняемого файла (или другой разделяемой библиотеки). Это значение заголовка RPATH (названное так в стандартах заголовков Executable and Linkable Format) может либо переопределять, либо дополнять системные пути поиска динамических ссылок по умолчанию.

rpath исполняемой или разделяемой библиотеки — это необязательная запись в разделе .dynamic исполняемой или разделяемой библиотеки ELF с типом DT_RPATH, называемый атрибутом DT_RPATH. Он может быть сохранен там во время компоновки компоновщиком. Такие инструменты, как chrpath и patchelf, могут создать или изменить запись позже.

Использование записи DT_RPATH динамическим компоновщиком

Различные динамические компоновщики для ELF реализуют использование атрибута DT_RPATH по-разному.

Примечания

Шаблон:Примечания

Ссылки

  • chrpath — инструмент для изменения атрибута DT_RPATH исполняемого файла и преобразования его в атрибут DT_RUNPATH
  • FreeBSD devel/chrpath Порт для FreeBSD — инструмент для изменения DT_RPATH в существующих ELF-бинарных файлах
  • patchELF — небольшая утилита для изменения динамического связывателя и атрибута DT_RUNPATH исполняемых файлов ELF-файлов

Шаблон:Изолированная статья