Що таке DLL

27

DLL або dynamic-link library це файл з додатковими ресурсами, які можуть використовуватися програмами й операційною системою. В DLL файли поміщають виконуваний код та інші дані потрібні різним програмам при їх виконанні. Один і той же DLL файл може використовуватися декількома програмами одночасно.

Для того щоб зрозуміти, що таке DLL бібліотека розглянемо приклад. В операційній системі є DLL-файл під назвою Comdlg32. У ньому містяться ресурси, необхідні для створення діалогових вікон. Різні програми використовують DLL файл Comdlg32 для того щоб створювати діалогові вікна. Таким чином, один і той же DLL файл забезпечує потрібними ресурсами велика кількість програм. Такий підхід дозволяє економити місце на диску і більш ефективно використовувати оперативну пам’ять.

Використання DLL файлів має й інші переваги. Так з допомогою DLL файлів розробник може створити модульну програму. У виконуваний EXE файлі можна розмістити тільки найнеобхідніші для роботи програми ресурси, а інше в DLL файли. А потім під час роботи програми підключати тільки потрібні в даний момент DLL файли. Оскільки не потрібні ресурси не будуть завантажуватися, програма буде працювати значно швидше. Крім цього, якщо програма побудована за таким принципом, її дуже просто оновлювати. Досить внести зміни тільки в один DLL файл, а решта залишаться незачепленими.

В операційній системі Windows також використовуються файли .ocx (ActiveX), .cpl (Панель керування).drv (драйвери). Вони мають таку ж структуру і виконують ті ж завдання, що і DLL бібліотеки.

Можливі проблеми з DLL файлами

Найпоширенішою проблемою з DLL файлами є їх відсутність. Часто для роботи програми потрібні DLL файли, які поширюються окремо. Яскравий приклад DirectX. Напевно, ви часто стикалися з проблемою, коли програму можна запустити з-за відсутності DLL файлу DirectX.

Як правило, ця проблема вирішується дуже просто. Потрібно знайти в Інтернеті і завантажити файл про відсутність якого повідомляє програма. Після цього скопіюйте його в папку з грою, а також у папки Windows і Windows\system32. У більшості випадків цього достатньо для вирішення проблеми.