Получать новые статьи на свою почту
Популярные статьи
  • Что такое жёсткий диск и в чём его сходство с подробнее
  • Что такое процессор компьютера — все точки подробнее
  • Что такое ssd накопитель и в чём его прикол? подробнее
  • Надоел русский язык? Меняем язык в After Effects на подробнее
Поддержать проект
01.04.2018
Блог Дмитрия Вассиярова.
Автор: Рубрика:

Повесть о том — что такое DLL файлы

Лого

 

Рад видеть вас на своём блоге!

Нашли у себя в компьютере DLL файлы и понятия не имеете, что это такое? Я поделюсь с вами информацией. Без них большинство программ и операционная система в целом не смогут функционировать. Хотите знать больше? Не пропустите мою статью.

Что такое DLL файлы

 

Разъяснение

Данная аббревиатура расшифровывается как «Dynamic Link Library», а на нашем языке — «библиотека динамической компоновки» или чаще как «динамически подключаемая библиотека». Она по умолчанию устанавливается в ОС Windows, а раньше ещё и в IBM OS/2, пока она не прекратила своё существование. Библиотека предназначена для многократного использования различным программным обеспечением.

DLL содержит в себе важные сведения: о конфигурации системы, совместимости устройств, командах для их корректной работы и пр. Всё это хранится в файлах одноимённого расширения либо .drv для нескольких системных драйверов, .cpl — для файлов панели управления или в .ocx, если речь идёт о библиотеках содержащих фреймворк ActiveX.

Объекты .dll включают в себя коды и данные, которые могут использоваться одновременно несколькими программами. Своим содержимым они похожи на тип файлов EXE. Кстати, у них даже одинаковый формат: Portable Executable (PE) для 32-х и 64-х битных приложений Windows, и New Executable (NE) для 16-битных.

Многие устанавливаемые нами программы уже имеют в своём наборе такие файлы. В противном случае они пользуются теми, которые есть в операционке.

Набор этих файлов в пакете

 

Динамические библиотеки на практике

В теории вроде бы всё ясно (или не совсем? :) ). Но чтобы понять суть предмета нашей беседы, необходимо увидеть его с практической стороны. Без него проги не могут работать, потому что не знают, как это делать.

Вот вам элементарный пример. Чтобы на чистом листе в Office Word начали появляться вводимые вами символы, нужны компоненты библиотеки. Потому что сама по себе ОС не в курсе, что значит та или иная нажатая вами клавиша.

Даже когда вы просто включаете компьютер и ещё не успели ничего сделать, библиотека уже активно действует: показала вам время и дату, открыла программы в автозапуске, выстроила оформление рабочего стола, проштудировала сведения о конфигурации операционки и т. п. Вдобавок, как система общаться с мышью, клавиатурой, принтером и другим оборудованием, тоже объясняют DLL файлы.

DLL Библиотека

 

Преимущества DLL

Для чего предназначены динамические библиотеки? Они создавались для того, чтобы:

  • Экономить ресурсы системы. Как я уже упоминал, для разных приложений может быть использован единовременно один и тот же набор функций. Благодаря этому эргономично расходуется память ОС и дисковое пространство.
  • Применять к разноплановому софту, например, к офисным приложениям и в то же время к Visual Studio (кто не знает, это продукт для програмистов) и пр.
  • Совершенствовать операционку посредством модульности. Проще говоря: разработчики с каждой новой версией совершенствуют незримые для пользователя библиотеки. Благодаря этому программное обеспечение становится более функциональным.
  • Библиотеки DLLОблегчить инсталляцию. Если для работы той или иной программы требуется исправить или обновить функцию в библиотеке, не нужно её повторно прикреплять к проге для открытия или установки. Более того, всё остальное ПО автоматически поймёт, что вы внесли коррективы, и воспользуется уже новой версией по мере надобности.

 

Ад для библиотек

В полной мере реализовать описанные выше преимущества всё-таки не удалось. Дело в том, что ПО может одновременно потребовать не полностью совместимые версии библиотек. Из-за этого случаются сбои в его работе. Вдобавок вследствие конфликтов снижается надёжность ОС в целом. Такое явление называется «DLL hell» (если кто не знает, то последнее слово переводится как «ад»).

 

Как это видит пользователь?

Предположим, вы никогда не обновляли на своём компьютере эти библиотеки и установили игру, выпущенную лет 5 назад. Она работает у вас нормально. Затем вы обнаружили, что недавно вышла последняя часть игры, и инсталлировали её тоже.

Однако вторая уже отказывается запускаться. Своё неповиновение она сопроводила сообщением, мол, ошибка DLL, отсутствует файл. Это значит, что имеющиеся на вашем компе компоненты, необходимые для её запуска, не работают. Или вовсе отсутствуют.

Ошибка связанная с DLL

Такое может быть из-за неправильного указания разрядности или версии системы в процессе установки игры. Это как пример, могут быть и другие причины конечно же. Ведь программы и игры могут перезаписывать файлы библиотеки (см. последнее преимущество). Вследствие чего тот или иной софт порой отказывает в работе.

 

Решение

Чтобы подобные ситуации не всплывали, в последних поколениях Виндовс появилась технология Side-by-side assembly. Она позволяет использоваться параллельно разные версии библиотек. Правда, это нововведение идёт в разрез с принципом модульности, который изначально был преимуществом.

В случаях, когда система выдаёт ошибку DLL, можно попробовать скачать и установить обновлённые отдельные компоненты. Или даже весь пакет целиком. Кстати, отследить, какие приложение используют те или иные DLL файлы, можно при помощи специальных утилит, например, Dependency Walker.

Интерфейс Dependency Walker

 

На этом всё.

Если вам станет что-то непонятно в компьютере или просто скучно, возвращайтесь. У меня всегда найдутся полезные статьи ;)

СчастлИво!

 

 

Этой статьей стоит поделиться
Получать новые статьи на свою почту

Комментариев к статье: 2

Оставить коментарий

:|:x:shock::oops::mrgreen::lol::idea::evil::cry::cool::arrow::???::?::!: