.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;
}