Что нового

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

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

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

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

Отвечать

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

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

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

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

NevesOma

Администратор
Регистрация
15.07.2012
Сообщения
1 028
Реакции
4
Баллы
0
Местоположение
Чобручи
Сайт
L2J-MOD.RU
1366364050_www.hardOk.ru.jpg

Что такое .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, но все же работает по тем же принципам.

Загрузка библиотек 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 036
Реакции
55
Баллы
48
Местоположение
г.Тирасполь
библиотеки DLL рулят, без них никак
 
shape1
shape2
shape3
shape4
shape7
shape8
Верх Низ