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

Поделись знанием:
(перенаправлено с «.DLL»)
Перейти к: навигация, поиск

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), что свело на нет преимущества изначального принципа модульности.

Напишите отзыв о статье "Динамически подключаемая библиотека"

Ссылки

  • [msdn.microsoft.com/en-us/library/windows/desktop/ms682589(v=vs.85).aspx Dynamic-Link Libraries (Windows)] (англ.)
  • [www.functionx.com/visualc/libraries/win32dll.htm «Tutorial for making and using DLL’s»]
  • [www.codemaestro.com/articles/article00000001.html «Delay Load Dlls Error Recovery»]
  • [cyberguru.ru/programming/visual-cpp/visual-cpp-beginners-page29.html Полное описание процесса создания dll в Visual Studio]


Отрывок, характеризующий Динамически подключаемая библиотека

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


Одним из самых осязательных и выгодных отступлений от так называемых правил войны есть действие разрозненных людей против людей, жмущихся в кучу. Такого рода действия всегда проявляются в войне, принимающей народный характер. Действия эти состоят в том, что, вместо того чтобы становиться толпой против толпы, люди расходятся врозь, нападают поодиночке и тотчас же бегут, когда на них нападают большими силами, а потом опять нападают, когда представляется случай. Это делали гверильясы в Испании; это делали горцы на Кавказе; это делали русские в 1812 м году.
Войну такого рода назвали партизанскою и полагали, что, назвав ее так, объяснили ее значение. Между тем такого рода война не только не подходит ни под какие правила, но прямо противоположна известному и признанному за непогрешимое тактическому правилу. Правило это говорит, что атакующий должен сосредоточивать свои войска с тем, чтобы в момент боя быть сильнее противника.
Партизанская война (всегда успешная, как показывает история) прямо противуположна этому правилу.
Противоречие это происходит оттого, что военная наука принимает силу войск тождественною с их числительностию. Военная наука говорит, что чем больше войска, тем больше силы. Les gros bataillons ont toujours raison. [Право всегда на стороне больших армий.]
Говоря это, военная наука подобна той механике, которая, основываясь на рассмотрении сил только по отношению к их массам, сказала бы, что силы равны или не равны между собою, потому что равны или не равны их массы.
Сила (количество движения) есть произведение из массы на скорость.
В военном деле сила войска есть также произведение из массы на что то такое, на какое то неизвестное х.
Военная наука, видя в истории бесчисленное количество примеров того, что масса войск не совпадает с силой, что малые отряды побеждают большие, смутно признает существование этого неизвестного множителя и старается отыскать его то в геометрическом построении, то в вооружении, то – самое обыкновенное – в гениальности полководцев. Но подстановление всех этих значений множителя не доставляет результатов, согласных с историческими фактами.