|
26 / 4 / 0
Регистрация: 17.04.2018
Сообщений: 53
|
|
Теория, библиотеки, динамические библиотеки06.10.2018, 23:56. Показов 5251. Ответов 29
Метки нет (Все метки)
Как происходит сам процесс использования, что происходит при include, как они загружаются?
Добавлено через 11 минут статические библиотеки компилируются в объективе файлы (как эти файлы используются программой?) динамические загружаются единожды(опять же как программа к ним обращается?) - из википедии Добавлено через 4 минуты то есть я хочу узнать как это происходит на низком уровне
0
|
|
| 06.10.2018, 23:56 | |
|
Ответы с готовыми решениями:
29
GNU assembler x86_64 и динамические библиотеки Библиотеки ввода-вывода для ассемблера Динамические библиотеки |
|
26 / 4 / 0
Регистрация: 17.04.2018
Сообщений: 53
|
|||
| 10.10.2018, 20:18 [ТС] | |||
|
Добавлено через 3 минуты shmkv, я хочу сделать динамические библиотеки Добавлено через 11 минут
0
|
|||
| 10.10.2018, 20:55 | |||||||
|
FrideakisAB, большинство программ в современных линуксовых дистрибутивах в формате динамических (shared object ) ELF.
В EFI тоже используется этот формат, правда обычно без внешних ссылок. Поэтому ядро linux x86_64 - тоже снаружи в виде PE
1
|
|||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||||
| 11.10.2018, 02:59 | ||||
|
Добавлено через 2 минуты Добавлено через 6 минут В реальных форматах обычно адреса уже настроены на какой-то виртуальный адрес (и он указан в заголовке). Загрузчик, если ему требуется разместить либу по другому адресу, считывает это смещение и вычитает из него адрес на который его настроил компиялтор (т.е. получает смещение от 0), а потом прибавляет адрес по которому реально разместил. Добавлено через 5 минут Я думал, что там только загрузчик ядра.
2
|
||||
|
Модератор
|
|||
| 11.10.2018, 10:08 | |||
|
Он мог попросить компилятор генерировать позиционнонезависимый код. Или сознательно соблюдать при программировании определённые ограничения, чтобы объектный код получился позиционнонезависимым и не нуждался в настройке на адреса. Наконец, можно разделить адресное пространство на разделы, и заранее настраивать каждый модуль на адреса в своём разделе. Это всё интересно, но ограничения в будущем могут затормозить дальнейшее развитие проекта. https://rsdn.org/article/baseserv/pe_coff.xml Sun чуть позже перешла на ELF во многом ради динамически загружаемых и связываемых shared objects Глава из учебника про DLL https://www.iecc.com/linker/linker10.html Для единственной программы, выполняющейся без операционной системы, или для модулей "ядра" ОС DLL необязательны. Смысл DLL в том, чтобы физические страницы с кодом какой-нибудь стандартной функции отображать в адресное пространстов разных процессов. Когда у нас единственное адресное пространство, можно в стиле 1960-1970-х загружать и выгружать "обычные" объектные модули, сразу из-под компилятора. Как загружаемые объектные модули ядра freebsd и linux.
1
|
|||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||||
| 11.10.2018, 13:36 | ||||
|
0
|
||||
| 11.10.2018, 20:28 | ||||||
|
Даже DLL Microsoft старалась настраивать, чтобы адреса не пересекались.
Кликните здесь для просмотра всего текста
Вручную конечно неудобно!
0
|
||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 11.10.2018, 20:38 | ||
|
1
|
||
|
26 / 4 / 0
Регистрация: 17.04.2018
Сообщений: 53
|
|
| 12.10.2018, 13:57 [ТС] | |
|
Я решил использовать elf
2
|
|
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 12.10.2018, 14:02 | ||
|
1
|
||
| 12.10.2018, 14:02 | |
|
Динамические библиотеки Динамические библиотеки Динамические и статические библиотеки Статические и динамические библиотеки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|