Общая библиотека
-
Основы общих библиотек
- Общие библиотеки содержат исполняемый код, используемый несколькими программами.
- Операционная система загружает общие библиотеки в память при запуске программы.
-
Преимущества и форматы
- Совместное использование памяти и кода упрощает разработку и ускоряет загрузку приложений.
- Большинство современных операционных систем используют один формат для общих библиотек и исполняемых файлов.
-
Проблемы и решения
- «DLL-ад» в Windows связан с проблемами совместимости версий библиотек.
- Современные операционные системы используют методы очистки и «частные» библиотеки для решения этих проблем.
-
Динамическое связывание и оптимизация
- Динамическая компоновка выполняется во время загрузки или выполнения программы.
- Системы оптимизируют загрузку общих библиотек, вычисляя их адреса заранее.
-
Поиск библиотек во время выполнения
- Загрузчики для общих библиотек различаются по функциональности и могут вызывать проблемы при изменении библиотек.
- Windows и Unix-подобные системы используют разные алгоритмы для поиска библиотек.
-
Microsoft Windows и OpenStep
- Windows использует реестр и каталоги для поиска библиотек, в то время как OpenStep использует гибкую систему поиска.
-
Unix-подобные системы
- Unix-подобные системы имеют «путь поиска» для динамических библиотек.
-
Динамическая нагрузка
- Динамическая загрузка позволяет загружать и выгружать библиотеки по запросу.
- Большинство операционных систем поддерживают динамическую загрузку через API компоновщика.