В вычислениях динамическое подключение является процессом операционной системы (OS), которая загружается (копии от персистентного устройства хранения данных до RAM), и ссылки (заполняет таблицы переходов и перемещает указатели), общие библиотеки, необходимые исполняемому файлу во время выполнения, то есть, когда это выполняется.

В вычислениях динамическое подключение является процессом операционной системы (OS), которая загружается (копии от персистентного устройства хранения данных до RAM), и ссылки (заполняет таблицы переходов и перемещает указатели), общие библиотеки, необходимые исполняемому файлу во время выполнения, то есть, когда это выполняется. Определенная операционная система и формат исполняемых файлов определяют, как динамический компоновщик функционирует и как это реализовано. Соединение часто упоминается как процесс, который выполняется во время компиляции исполняемого файла, в то время как динамический компоновщик находится в действительности специальный загрузчик, который загружает внешние общие библиотеки в рабочий процесс и затем связывает те общие библиотеки динамично с рабочим процессом. Специфические особенности того, как динамический компоновщик функционирует, зависимы от операционной системы.

В случае динамического подключения компоновщик при создании exe делает минимальную работу. Чтобы динамический компоновщик работал, это на самом деле должно загрузить библиотеки также. Следовательно это также назвало связывающий загрузчик.

9
ответов

Проблема для запуска Java в Debian: “ошибка, в то время как загрузка совместно использовала библиотеки: libjli.so”

Я пытаюсь запустить Java: $ Java - версия Java: ошибка, в то время как загрузка совместно использовала библиотеки: libjli.so: не может открыть файл общего объекта: Никакой такой $ файла или каталога ldd/usr/lib/jvm/java-6-openjdk/jre/bin/...
07.02.2018
7
ответов

как совместно использовать переменные среды между оболочками как globals, связанный с основным pid?

Так, я должен совместно использовать переменные среды между оболочками, и что изменения на переменных быть быстро распознанным всеми оболочками, как глобальные переменные. Но они должны быть связаны с основным PID...
03.05.2017
4
ответа

Что такое золотой линкер?

Кто-нибудь уже использовал золотой линкер? Чтобы связать довольно большой проект, мне пришлось использовать это, в отличие от GNU ld, который выдал несколько ошибок и не смог связать. Как линкер gold может связать...
09.10.2019
4
ответа

Где исполняемые файлы ищут общие объекты во времени выполнения?

Я понимаю, как определить, включают общие объекты в соединение/время компиляции. Однако я все еще задаюсь вопросом, как исполняемые файлы ищут общий объект (*.so библиотеки) во время выполнения. Например, мой...
26.07.2017
4
ответа

Существует ли более быстрая альтернатива pkg-конфигурации?

Наша pkg-конфигурация использования системы сборки для создания программного обеспечения, но соединения может брать очень долго (иногда до 20 минут). Мы идентифицировали pkg-конфигурацию как виновный инструмент. Так, есть ли более быстрая альтернатива...
13.04.2017
3
ответа

Исполняемый файл Linux выдает ошибку «Файл не найден», несмотря на то, что файл существует и находится в PATH

. Я хочу запустить исполняемый файл Wine (версия 2.12), но получаю следующую ошибку ($ = приглашение оболочки): $ вино bash: / usr / bin / wine: нет такого файла или каталога $ / usr / bin / вино bash: / usr / bin / wine: Нет такого ...
13.07.2017
3
ответа

ошибка, в то время как загрузка совместно использовала библиотеки: libc.so.6: не может открыть файл общего объекта

У меня есть ядро Linux и я chroot это на/var/chroot: Я добавил зависимости от удара как так: ldd/bin/bash linux-vdso.so.1 => (0x00007fff9a373000) libtinfo.so.5 =>/lib/x86_64-...
16.01.2015
3
ответа

Действительно ли безопасно просто скопировать совместно использованные библиотеки на встроенное устройство Linux?

Следующее содержится в руководстве пользователя поставщика для своего встроенного дистрибутива Linux на hardward плате, они предоставляют Разработчиков, может поместить их программу на устройство X-Linux через FTP или NFS. Прежде...
10.07.2012
3
ответа

Как об/мин разрешает зависимости библиотеки?

Я пытаюсь сделать пакет программы, которая связана с такой библиотекой (вывод от ldd): libwx_baseu-2.8.so.0 =>/usr/lib64/wx-2.8-wxcontainer/libwx_baseu-2.8.so.0 Довольно простой, правильно?...
31.05.2011
2
ответа

Существует ли rpath для динамически подключаемых библиотек?

Итак, проект, над которым я работаю, использует несистемный каталог для хранения некоторых библиотек DLL, используемых в коде. Я не хочу помещать их в системные каталоги, поэтому для исполняемых файлов установлен rpath для поиска DLL...
11.04.2020
2
ответа

Как сам динамический компоновщик/загрузчик может быть динамически слинкован, как сообщает `file`?

Рассмотрим общие зависимости объектов /bin/bash, включая /lib64/ld-linux-x86-64.so.2 (динамический компоновщик/загрузчик): ldd /bin/bash linux-vdso.so.1 ( 0x00007fffd0887000) libtinfo.so.6 =>...
23.09.2019
2
ответа

Почему `ldd ` выводит "??? => ???" (знаки вопроса как в библиотеке, так и в локации)?

Запустив ldd , я заметил, что некоторые записи читаются как ??? => ???. Поискав множество комбинаций "Linux", "ldd" и "???=>???", как через поисковик...
13.08.2019
2
ответа

gcc - неизвестные переключатели (также отсутствуют на странице руководства)

Я пытаюсь поэкспериментировать с общими объектами и нашел приведенный ниже фрагмент на http://www.gambas-it.org/wiki/index.php? title=Creare_una_Libreria_condivisa_(Shared_Library)_.so gcc -g -shared -Wl,-soname,...
14.02.2019
2
ответа

Будет ли библиотека динамической компоновки должна быть загружена в RAM

Как мы знаем, любой исполняемый файл, который запущен, загружается в RAM. Кроме того, у нас есть два типа библиотек: библиотека статических ссылок и библиотека динамических ссылок. Два типа библиотек должны быть загружены в оперативную память ...
17.04.2018
2
ответа

Как обновить общую библиотеку без катастрофического отказа?

Здесь это говорит, что можно переписать исполняемый файл, и процесс будет работать очень хорошо - это будет перечитано, когда процесс перезапустит. Однако, когда я пытаюсь заменить двоичный файл, в то время как процесс...
13.04.2017
2
ответа

Не удается найти файл общих объектов, хотя он находится в пути к библиотеке

Я пытаюсь установить plexmediaplayer из исходного кода. Это включает в себя компиляцию libmpv.so.1, которую я сделал и установил в / usr / local / lib. Когда я запускаю plexmediaplayer, я получаю следующую ошибку: $ ...
25.03.2017
2
ответа

Как пользоваться библиотеками, установленными, отклоняют во времени выполнения?

Я использую, отклоняют в "однопользовательском режиме" в системе, где я не корень (см. ниже для описания моего отклонять установку). Я хотел быстро выполнить один из своих двоичных файлов, который динамично связан с...
10.11.2016
2
ответа

Не может выполнить двоичный файл в NixOS - Никакой такой файл или каталог

Я пытался установить текущего оракула jre на VM рабочий NixOS. Теперь следующее происходит: [michas@cc: мусорное ведро/Java xvzf jre-7u40-linux-x64.tar.gz |grep jre1.7.0_40/bin/javaws jre1.7.0_40/bin/tar $ ~]...
19.03.2015
2
ответа

ld.so.preload не отличается x86_32 и x86_64

— Это знало, что можно выполнить x86_32 programms с x86_64 ядром, если это было скомпилировано с поддержкой этого. Но динамический компоновщик не обеспечивает способа определить отдельный набор библиотек предварительной нагрузки для 32-...
14.09.2014
2
ответа

Заставьте ld выбирать корректную библиотеку

Я пытаюсь скомпилировать прогр программы и связать ее против 1.0.2 бет OpenSSL, созданных из источника и установленных в/usr/local/ssl-1.0.2. В более старой системе с помощью 0.9.8, это работает без слишком много...
19.06.2014
2
ответа

libcurl.so.4 неопределенная ссылочная ошибка

Даже после установки завихрения и все коснулись libcurl пакетов, таких как вихревой libcurl4-документ libcurl4-nss-dev libcurl3 libcurl3-gnutls libcurl-ocaml libcurl3-dbg libcurl3-nss libcurl4-gnutls-dev...
23.04.2014
2
ответа

Беспорядок о соединении библиотеки повышения, в то время как компиляция

Для клиента я должен был добавить повышение 1.54 к системе. Таким образом, я загрузил последнюю версию (1.55) и создал ее в рамках специального каталога:/usr/local/lib/boost1.55/. Это работает. Затем я должен был адаптироваться...
07.12.2013
2
ответа

Как использовать STL в Unix и Linux?

Как использовать STL (стандартная библиотека шаблонов) в HP Unix. Как скомпилировать и запустить программу с функциями STL?
07.03.2011
2
ответа

Почему LD продолжает не производить “доступную информацию о версии”

На каждой загрузке lib я получаю ошибку: никакая информация о версии, доступная Этот lib, не была скомпилирована на другом ПК (человечность 10.04), чем та, выполняющая его (mandriva 2010.2). $ ldd/usr/local/...
20.01.2011
1
ответ

ldd возвращает «не динамический исполняемый файл»

Я скомпилировал двоичные файлы на своем компьютере с GCC 4.9.1 и перенес их на сервер, на котором я хочу их запустить (, на котором у меня нет необходимых прав для установки пакетов, поэтому я не могу установить gcc -multilib, чтобы попробовать и посмотре
28.08.2021
1
ответ

Безопасно ли удалять общую библиотеку во время выполнения программ, зависящих от нее?

Разрешено ли удалять (например, командой rm )какую-то разделяемую библиотеку без какой-либо опасности при выполнении программ, зависящих от нее? Я так и думал, потому что если бы программа работала
20.08.2021
1
ответ

Взаимозаменяемы ли динамические компоновщики?

Взаимозаменяемы ли динамические компоновщики? Скажем, я компилирую программу, например, с помощью gcc, связывая различные динамические библиотеки с программой, которая будет использоваться во время выполнения с компоновщиком gnu для разрешения...
11.06.2021
1
ответ

Как код динамической библиотеки узнает, в каком процессе она вызывается?

Если я правильно понял, один экземпляр dylib хранится в одном сегменте памяти при загрузке, затем он становится общим, а не копируется между несколькими процессами виртуальной памяти, которым он нужен. Но как...
26.05.2021
1
ответ

Как при сборке/запуске программы указать динамическому компоновщику, где найти соответствующие библиотеки?

Я пытаюсь установить и запустить программу Dsuite. Для этого мне пришлось установить более новую версию gcc локально (, так как у меня нет привилегий root/super user. )Я сделал это с помощью следующих команд. компакт-диск /...
19.05.2021
1
ответ

ldd показывает набор связанных библиотек, но использование rabin2 -l показывает иначе. Почему это так?

Пытаясь что-то отладить, я заметил, что ldd показывает кучу библиотек, таких как libldap _r, libkrb5 и libroken, среди прочих. С другой стороны, a rabin2 -l <...
31.03.2021