Что такое DLL

ошибка dll

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

Попытка первая: использование кода в качестве модуля

 

Первой попыткой решить проблему стало написание кодов – модулей, добавляемых к любым написанным программам. Это решение было признано оптимальным и использовалось повсеместно довольно долгое время — до того момента, как программы стали мультизадачными. Билл Гейтс тогда еще только вынашивал идею создания Windows, которая впоследствии победным маршем пройдет по планете, но многие операционные системы уже тогда из однозадачных становились многозадачными. Представим себе, что несколько программистов используют в создании своих программ один и тот универсальный модуль.

 

Получается простая пропорция – чем больше пользователем задействуется программ, в которых присутствует одинаковый код, тем больше пространства диска используется «вхолостую». Учитывая тот факт, что размер операционных систем того времени был достаточно сильно ограничен небольшим дисковым пространством, такое нерациональное его использование требовало нового, более адекватного новым условиям решения. С многозадачностью программ не меньшей проблемой стал размер оперативной памяти. При большом количестве программ каждая из них долго и нудно загружала в оперативную память один и тот же код. Напомним, что в те далекие времена, в которые слова «Pentium» и «Windows» еще никому ничего не говорили, ресурс оперативной памяти был просто на вес золота.

 

Простое решение сложной проблемы: библиотеки DLL

 

Выход из создавшейся проблемы представлял собой простое и элегантное решение – вынести модули за пределы используемых программ и поместить в отдельный файл. Таким образом, любая запущенная программа могла загружать модуль, когда в нем возникала необходимость. DLL (Dynamic Link Library) – библиотека, подключающаяся динамически. Другими словами DLL является исполняемым модулем, содержащим программный код, либо какие-либо ресурсы, которые используются другими DLL или прикладными программами.

 

Итоги DLL революции

 

Где сейчас используются DLL файлы? Проще ответить, где они не используются. Преимущества этой инновации в программировании настолько очевидны, что использование DLL получило самое широкое распространение.

 

Офисные приложения

 

Современные офисные приложения без DLL были бы бесполезны. Чтобы понять почему, попробуем представить, из скольких компонентов состоит тот же Word: редактор текста, табуляции, диаграмм, формул, рисования, таблиц – и это еще далеко не полный список. Если бы все эти компоненты присутствовали в файле запуска, нам пришлось бы по полчаса ждать загрузки программы, причем большая часть загружаемых компонентов вам могла и не понадобиться. С DLL все намного проще – при обращении приложение загружает в память именно тот файл, который необходим, и использует его. Причем при выходе из приложения файл DLL не выгружается и при повторном открытии программа загружается в разы быстрее.

 

Windows

 

Простой вопрос – что собой представляет ядро Windows? Многие считают, что «мозг» Windows – это файлы из системной папки, а win.com – это ее ядро. Это верно лишь отчасти. На самом деле ядро Windows – это обычная динамическая библиотека, а если быть точным — Kernel32.dll. Скачать dll

 

Графика

 

Каждый, кто когда либо пытался загрузить компьютерную игру, знает о OpenGL, однако далеко не каждый геймер знает, что OpenGL – это не пакет программ и не SDK для графики, а те же самые DLL библиотеки. Попробуем «препарировать» к примеру, DirectX. Из чего он состоит? Это DirectMusic, DirectDraw, DirectPlay и прочее. «Настоящая сущность» DirectMusic является ни чем иным, как Dmusic.dll, DirectDraw — Ddraw.dll и т.д. Другими словами, любой графический «движок» представляет собой не что иное, как динамическую библиотеку.

 

Регистрация DLL библиотек в системе

 

Многие знакомы с ситуацией, когда при запуске программы система выдает сообщение об ошибки dll, или отсутствии какой-либо библиотеки DLL, либо о том же самом «сигнализирует» сама программа. Как зарегистрировать DLL библиотеку в системе? Во-первых, необходимо отметить, что в данном случае речь идет о регистрации ее определенных компонентов, а не о DLL библиотеке как таковой. Процесс добавления DLL достаточно прост: чтобы сделать ее видимой для системы, нужно переместить ее в раздел, где у вас установлена операционная система. Как правило, адрес размещения выглядит так: «С: windows/system32». После того, как библиотека будет перемещена, нужно в меню «Пуск/Выполнить» набрать команду «cmd». В появившемся после этого окне нужно набрать «regsvr32 имя библиотеки.dll». После выполнения этой команды ваша библиотека будет добавлена в систему.

Author: admin

Добавить комментарий