15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Использование DLL.

Ниже представлена простая программа, которая использует функции LoadLibrary и GetProcAddress для доступа к процедуре myPuts из MYPUTS.DLL

 
#include <stdio.h> 
#include <windows.h> 
 
typedef VOID (*MYPROC)(LPTSTR); 
 
VOID main(VOID) 
{ 
    HINSTANCE hinstLib;
    MYPROC ProcAdd;
    BOOL fFreeResult = FALSE;

    // Получаем дескриптор модуля DLL.
 
    hinstLib = LoadLibrary("myputs");
 
    // Если дескриптор получен, то пробуем получить адрес функции
 
    if (hinstLib != NULL)
    {
        ProcAdd = (MYPROC) GetProcAddress(hinstLib, "myPuts");

        // Если адрес функции получен, то вызываем функцию.

        if (NULL != ProcAdd) {
            (ProcAdd) ("message via DLL function\n");
        }

        // Освобождаем модуль DLL.

        fFreeResult = FreeLibrary(hinstLib);
    }
}