Что нового

Компьютерный форум ПМР. Обсуждение компьютерного железа.

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

Задать вопрос

Создавайте темы, задавайте вопросы и получайте ответы от нашего сообщества

Отвечать

Комментируйте, отвечайте на вопросы и станьте экспертом в своей теме

Связаться с персоналом

Наши специалисты готовы ответить на ваши вопросы

Что такое .dll файлы и с чем их едят? давайте-ка разберемся!

NevesOma

New member
Регистрация
15.07.2012
Сообщения
1 028
Реакции
6
Баллы
0
Местоположение
Чобручи
Сайт
L2J-MOD.RU
1366364050_www.hardOk.ru.jpg
DLL — что это такое и как расшифровывается

DLL (Dynamic Link Library)
расшифровывается как динамически подключаемая библиотека. Это файл с расширением .dll, содержащий программный код, функции или другие ресурсы, которые могут использовать Windows и различные программы.

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

Для чего нужны DLL-файлы? Они используются Windows, драйверами, играми и обычными программами. Благодаря DLL один набор функций может использоваться несколькими приложениями, что позволяет не дублировать один и тот же программный код.

Можно ли удалять DLL-файлы? Неизвестные DLL из папок Windows или установленных программ самостоятельно удалять не следует. Отсутствие необходимой библиотеки может привести к ошибкам запуска программы, игры или самой Windows.


Ниже подробнее разберём, как работают DLL-файлы, зачем используются динамические библиотеки и чем они отличаются от обычных исполняемых файлов.

Что такое .dll файлы и с чем их едят? давайте-ка разберемся!
Это может быть из-за .dll библиотек а точнее неполадками с ними,давайте-ка разберем все по порядку что они из себя представляют:
DLL (dynamic link library) - Библиотека динамических связей.
Бибилиотека динамических связей - dynamic link library (DLL) - это набор маленьких программ, каждая из которых может вызываться, при необходимости, большой программой. Маленькая программа, позволяющая болшой работать со специфическим устройством, таким как принтер или сканер, часто оформляется как Dll - программа (обычно называетмая DLL-файлом). Преимущество Dll-файла в том, что он не загружается в ОЗУ вместе с основной программой - экономится оперативная память. DLL загружается и выполняется только тогда, когда есть необходимость. Например, при редактировании документа в Microsoft Word нет нужды в DLL принтера. Если нужно будет печатать документ, программа Word загрузит и запустит DLL-файл для принтера. Файл dll часто имеет суффикс ".dll". DLL - файл динамически присоединяется к программе, когда требуется во время выполнения, а не при компиляции основной программы. Набор таких файлов напоминает библиотеку подпрограмм в языках программирования типа С и С++.

DLL - это выполняемый модуль, содержащий программный код или ресурсы, используемые другими прикладными программами или DLL. Концептуально динамически компонуемая библиотека аналогичная моулю - они обеспечивают для программ процедуры и функции. Однако между dll и модулями имеются существенные различия. В частности, модули компонуются статически, а DLL - динамически. Когда программа использует процедуру или функцию из модуля, копия кода этой процедуры или функции статически компонуется с выполняемым файлом программы. Если две программы выполняются одновременно и используют одну и ту же процедуру и функцию модуля, то в системе будет присутствовать две копии этой подпрограммы. Эффективнее было бы использовать одну копию. Такую возможность предоставляет Dll. В отличие от модуля dll не компонуется с использующей DLL программой. Вместо этого код и ресурсы DLL находятся в отдельном выполняемом файле с расширением *.Dll. Этот файл должен присутствовать при выполнении программы-клиента. Вызываемые программой процедуры и функции динамически компонуются со своими точками входа в используемой программе DLL. Другое отличие модулей от DLL состоит в том, что модули могут экспортировать типы, константы, данные и объекты, а DLL - только процедуры и функции. Чтобы ее можно было использовать в программе Borland Pascal, dll не обязательно должна быть написана на Borland Pascal. Кроме того, программы, написанные на других языках, могут использовать DLL, написанные на Borland Pascal. DLL, таким образом, идеально подходит при программных проектах, реализуемых на нескольких языках.

Сейчас уже DLL - это не просто динамически подгружаемая библиотека. Ты, наверно, уже не раз слышал про компоненты ActiveX. Они также могут быть выполнены в виде ocx или dll файлов. Да оно и понятно, ActiveX используются сейчас достаточно много и весят они в несколько раз больше, чем самая большая DLL библиотека. Так что единственный и нормальный выход экономить место винта и памяти - это засунуть ActiveX в динамически подгружаемую библиотеку. Хотя это уже не та Dll, но все же работает по тем же принципам.

Примечание: статья была опубликована в 2013 году. Упоминание ActiveX относится прежде всего к технологиям и программному обеспечению того периода. Сегодня ActiveX считается устаревшей технологией и для современных веб-приложений практически не используется.

Загрузка библиотек DLL

У динамических библиотек есть единственный недостаток - на загрузку тратится лишнее время. Зато если библиотека уже загружена другой прогой, то она появляется намного быстрей. Это потому, что после выхода из проги DLL-файл не выгружается из памяти. Это происходит только тогда, когда окнам не хватает памяти и ни одна из прог не использует в данный момент эту библиотеку. При использовании динамических библиотек в запускном файле находится только самое основное, а дополнительные возможности подгружаются по мере надобности из DLL-файлов. Таким образом, суммарная скорость загрузки уменьшается, причем очень даже значительно. Сейчас мы рассмотрим для чего нужны DLL (Dynamic Link Library - динамически компануемая библиотека) и как их создавать. DLL- это участок кода хранимый в файле с расширением .dll. Код может быть использован другими программами, но сама посебе библиотека прораммой не является. Вобщем-то, динамически компонуемые библиотеки представляют собой набао скомпилированныых функций. Но у этих библиотек есть свой особенности, так например, если каккието две или более программы для Windows одновременно исполняются и используют функции, находящиеся в одной DLL, то в памяти будет постоянно находится только одна библиотека, обеспечивая тем самым экономное расходование памяти. Загрузка библиотеки в память может быть статической и динамической. При статической загрузке DLL автоматически загружается при запуске исользующего ее приложения. Такая DLL содержит экспортируемые функции, описание которых находится в файле библиотеки импорта(import library file - .lib). Для использования статической загрузки вы должны на этапе компоновки к программе додключить .lib файл вашей DLL. В C++ Builder это сводится к включения в проект .lib файла через менджер проектов. При диамической загрузке вы можете загружать DLL при необходимости, выгрузить ее когода она ненужна. Однако работать с такими библиотеками сложнее чем со статическими. Рассмотрим созздание и использование DLL статической загрузки.

fe2ab837f0.png


0248573eb919.jpg
 
Последнее редактирование модератором:

djon

Тутошний
Команда форума
Регистрация
23.11.2009
Сообщения
6 541
Реакции
158
Баллы
63
Местоположение
г.Тирасполь
библиотеки DLL рулят, без них никак
 

djon

Тутошний
Команда форума
Регистрация
23.11.2009
Сообщения
6 541
Реакции
158
Баллы
63
Местоположение
г.Тирасполь
Что делать, если Windows пишет, что DLL-файл не найден

Одна из самых распространённых проблем с DLL — сообщение при запуске программы или игры о том, что определённый файл .dll не найден, отсутствует или повреждён.

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

Обычно лучше сначала:

  1. Переустановить программу или игру, которая выдаёт ошибку.
  2. Установить доступные обновления Windows.
  3. Проверить, какой именно DLL-файл указан в сообщении об ошибке.
  4. Если библиотека относится к Microsoft Visual C++, DirectX или другому компоненту — установить соответствующий пакет из официального источника.
  5. Не заменять системные DLL случайными файлами из Интернета.
Итог: DLL — это Dynamic Link Library, то есть динамически подключаемая библиотека. Само наличие файлов .dll в Windows совершенно нормально. Разбираться с ними обычно требуется только тогда, когда конкретная программа сообщает об отсутствующей или повреждённой библиотеке.
 
shape1
shape2
shape3
shape4
shape7
shape8
Верх Низ