Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?

9 0 Новини високих технологій

Чи звертали ви увагу на те, що при встановленні абсолютно всіх операційних систем Windows або деяких програм в файлових менеджерах, включаючи і стандартний «Провідник», дуже часто можна зустріти об'єкти незнайомого формату у вигляді файлів DLL. Що це за файли і в чому їх призначення, рядові користувачі з початковим рівнем підготовки представляють собі дуже туманно (якщо не сказати, що взагалі не знають). На жаль, описати всі основні принципи їх роботи і використання по-науковому вийде навряд чи (та це і не потрібно), тому спробуємо розглянути всі ці питання, оперуючи простим і зрозумілим мовою.

Файли DLL: що це таке в загальному розумінні?

Розширення DLL утворено від повної назви типу формату – Dynamic Link Library. Тому-то такі об'єкти російською мовою і прийнято називати динамічними бібліотеками. Вони є супутнім компонентом майже всіх відомих додатків, розрахованих на роботу в середовищі Windows, але можуть інтегруватися в систему самостійно, що дозволяє їх віднести до програм, але тільки працюючим за рахунок інших додатків.


Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?
Власне, і в самих Windows-системах таких об'єктів можна знайти чимало.

Як працюють динамічні бібліотеки?

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


Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?
Досить викликати самий звичайний «Диспетчер завдань» або скористатися утилітою Procwss Exploirer і подивитися на активні процеси. Звичайно, в більшості випадків відображаються в основному саме EXE-компоненти, а от якщо покопатися у використанні оперативної пам'яті, для кожного процесу можна знайти відповідні додаткові бібліотеки, як раз і завантажені безпосередньо в ОЗП.

Де використовуються файли DLL для Windows 7 і аналогічних модифікацій?

Тепер перейдемо до практичної сторони питання, що розглядається. Звернемо ще увагу на файли DLL. Що це за об'єкти в сенсі прив'язки до програм, можна пояснити на двох простих прикладах. За основу візьмемо розгляд і системних компонентів і файлів сторонніх програмних пакетів. Як вже говорилося вище, файли DLL в ос Windows використовуються повсюдно, і без них більшість програм, якщо тільки вони не представлені в портативному виконанні, не працюють. По-перше, деякі системні компоненти такого типу можуть використовуватися або самої операційною системою, або сторонніми заставленими додатками. По-друге, відповідні бібліотеки самого додатка без виконуваних файлів Windows теж можуть не працювати.
Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?
Саме тому при виникненні проблем, скажімо, з файлом API.dll, який необхідний для коректного функціонування ігрової платформи STEAM, вона видає помилки. Ось і доводиться завантажувати оригінальний об'єкт з Інтернету, але інтегрувати його в систему звичайним копіюванням в потрібну локацію не вийде (про це трохи пізніше). Другий приклад здасться явно знайомим всім комп'ютерним музикантам, які працюють з різноманітними плагінами формату VST. Інструменти і ефекти можуть поставлятися у вигляді одиночних файлів бібліотек, але ж запустити їх подвійним кліком, як звичайний додаток, неможливо!
Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?
Щоб їх використовувати, треба провести підключення через хост віртуальної студії або секвенсора. Виходить, що музична програма і є тим основним мостом, який дозволяє завантажити файл DLL в оперативну пам'ять і виконати міститься до нього програмний код.

Як встановлювати бібліотеки в середовищі Windows?

І ще кілька слів про файли DLL. Що це таке, трохи розібралися, а тепер подивимося на деякі нюанси інтегрування їх в середовище операційної системи. Якщо просто скопіювати такий об'єкт (нехай навіть в потрібне місце), Windows автоматично не розпізнає.
Для усунення проблем з постійною видачею повідомлень про те, що якийсь файл DLL не знайдений, бібліотеку потрібно зареєструвати. Робиться це або через консоль «Виконати», або через командний рядок, яка повинна запускатися виключно від імені адміністратора шляхом використання спеціального інструменту системи regsvr32.exe (при введенні команди розширення можна не вказувати). У самій же команді прописується назву засоби реєстрації, а потім вказується повний шлях до місця розташування реєстрованого компонента. Наприклад, файл бібліотеки (назвемо його умовно 1.dll) збережений на диску «С» в каталозі Lib. Команда реєстрації буде виглядати наступним чином: regsvr32.exe "c:Lib1.dll" (обов'язково з лапками, як показано в прикладі).

Усунення проблем з відсутністю бібліотек у системі

Нарешті, останнє. Проблеми, пов'язані з відсутністю або ушкодженням системних динамічних бібліотек, є чи не найпоширенішими, з-за чого Windows просто відмовляється працювати. Для виправлення ситуацій подібного роду не слід шукати файли в Інтернеті, а потім реєструвати самостійно.
Файли DLL: що це таке в операційних системах Windows і встановлюються програмних пакетах?
Можна скористатися неперевершеною утилітою DLL Suite, яка сама визначить пошкоджені або відсутні об'єкти, завантажить з інтернету і зареєструє без участі користувача. Знову ж таки, мова йде виключно про бібліотеки самої операційної системи, а не про встановлених в ній користувацьких програмах.