Система динамических библиотек в Windows работает на основе динамической компоновки. frolov-lib.ru Загрузочный код нескольких функций объединяется в отдельные файлы, которые загружаются в оперативную память в единственном экземпляре. frolov-lib.ru
Некоторые особенности работы системы:
- Программы, работающие параллельно, вызывают функции из библиотек, а не из файлов программ. frolov-lib.ru В загрузочном файле программы располагают только специфические для неё функции, а общие для нескольких программ выносятся в библиотеки. frolov-lib.ru
- Библиотеки загружаются в память только при необходимости, например, когда какая-нибудь программа захочет вызвать функцию, код которой расположен в библиотеке. frolov-lib.ru
- Одна и та же функция библиотеки может отображаться на разные адреса в различные адресные пространства приложений. frolov-lib.ru Это же относится к глобальным и статическим переменным библиотеки. frolov-lib.ru
- Для каждой библиотеки система ведёт счётчик использования. frolov-lib.ru Содержимое этого счётчика увеличивается при очередной загрузке библиотеки в память и уменьшается при освобождении библиотеки. frolov-lib.ru
Некоторые преимущества использования динамических библиотек:
- Обновления и исправления ошибок. acm.bsu.by Если нужно обновить код, который вынесен в динамическую библиотеку, то достаточно обновить только библиотеку, и все программы, которые её используют, получат новую версию. acm.bsu.by
- Экономия памяти. acm.bsu.by Если одну и ту же библиотеку использует несколько приложений, в оперативной памяти может храниться только один её экземпляр, доступный этим приложениям. acm.bsu.by
- Общие данные. acm.bsu.by Библиотеки могут содержать такие ресурсы, как строки, значки и растровые изображения, которые доступны любым программам. acm.bsu.by