Що таке файл DLL?
Файл DLL або бібліотека динамічного компонування є типом виконуваного файлу. Це один із найпоширеніших файлів розширення на вашому пристрої, який зазвичай зберігається в папці System32 у вашій Windows. Файл розширення DLL був розроблений Microsoft і широко використовується ними. Має високу популярність серед користувачів. DLL працює як полиця, яка містить драйвери/процедури/функції/властивості, розроблені та застосовані для програми/програми сервером Windows. Один файл DLL також може використовуватися різними програмами Windows. Ці файли розширення є життєво важливими для безперебійної роботи програм Windows на вашому пристрої, оскільки вони відповідають за ввімкнення та запуск різних функцій у програмі, таких як запис і читання файлів, з’єднання з іншими пристроями, зовнішніми для вашої установки. Однак ці файли можна відкрити лише на пристрої, який підтримує будь-яку версію Windows (windows 7/windows 10 тощо), і тому їх неможливо відкрити безпосередньо на пристрої, який підтримує Mac OS. (Якщо ви хочете відкрити файл DLL на Mac OS, різні зовнішні програми можуть допомогти відкрити їх.)
Формат файлу DLL
Файл DLL розроблено компанією Microsoft і має розширення “.dll”, яке відповідає типу. Він був невід’ємною частиною сервера Windows 1.0 і не тільки. Це бінарний тип файлу, який підтримується всіма версіями Microsoft Windows. Цей тип файлу було створено для створення спільної бібліотечної системи в програмах Windows, щоб дозволити окремі та незалежні редагування чи зміни в бібліотеках програм без необхідності повторного зв’язування програм.
Приклад DLL
Приклад коду для точки входу DLL можна знайти нижче:
BOOL APIENTRY DllMain(
HANDLE hModule,// Handle to DLL module
DWORD ul_reason_for_call,// Reason for calling function
LPVOID lpReserved ) // Reserved
{
switch ( ul_reason_for_call )
{
case DLL_PROCESS_ATTACHED: // A process is loading the DLL.
break;
case DLL_THREAD_ATTACHED: // A process is creating a new thread.
break;
case DLL_THREAD_DETACH: // A thread exits normally.
break;
case DLL_PROCESS_DETACH: // A process unloads the DLL.
break;
}
return TRUE;
}