Динамически подключаемая библиотека

Материал из I2P-ilita вики
Версия от 13:23, 3 июня 2017; R4sas (обсуждение | вклад) (R4sas переименовал страницу CapsCleanup/динамически подключаемая библиотека в Динамически подключаемая библиотека поверх перенаправления…)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску
Obvious.png ОЧЕВИДНОСТЬ

Информативность страницы стремится к нулю. А сама она, кажется, создана Капитаном Очевидность.
Добавить что-либо тут сложно. Тем не менее, кто-то же посвятил её какому-то термину или понятию.

Wiki.png ВИКИПЕДИЯ ДЕТЕКТЕД

Страница выполнена в излишне википедийном ключе. Или даже является копипастой с Википедии.
Возможно она годная, но в ней многовато вики-ссылок на несуществующие страницы, которые никогда не будут созданы.

DLL (Dynamic Link Library — «библиотека динамической компоновки», «динамически подключаемая библиотека») в операционных системах Microsoft Windows и IBM OS/2 — динамическая библиотека, позволяющая многократное использование различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйверы. В системах UNIX аналогичные функции выполняют так называемые общие объекты (shared objects).

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов, сочетая код, таблицы и ресурсы, отличаясь лишь интерпретацией некоторых полей.

Назначение[править]

Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только один экземпляр библиотечного модуля для различных приложений. Это было особенно важно для ранних версий Microsoft Windows с жёсткими ограничениями по памяти.

Далее предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того, динамические библиотеки могли использоваться разнотипными приложениями — например, Microsoft Office, Microsoft Visual Studio и т. п.

В дальнейшем идея модульности выросла в концепции Component Object Model и System Object Model.

Фактически полных преимуществ от внедрения динамически подключаемых библиотек получить не удалось по причине явления, называемого DLL hell («DLL-ад»). DLL hell возникает, когда несколько приложений требуют одновременно различные, не полностью совместимые версии библиотек, что приводит к сбоям в этих приложениях и к конфликтам типа DLL hell, резко снижая общую надёжность операционных систем. Поздние версии Microsoft Windows стали разрешать параллельное использование разных версий DLL (технология Side-by-side assembly), что свело на нет преимущества изначального принципа модульности.