Консультация № 88085
22.05.2007, 16:19
0.00 руб.
0 3 3
Доброе время суток, Эксперты!
Есть простенькая dll с одной экспортируемой функцией. Никаких классов, никаких ресурсов. Просто функция, складывающая а и б. Как вызвать эту функцию в проекте на С++? Меня интересует динамическое подключение. Хотя, любая информация будет полезна.
Жду ваших ответов.

Обсуждение

Неизвестный
22.05.2007, 16:36
общий
это ответ
Здравствуйте, Vitally!
Здравствуйте, Vitally!
прилагаю пример из MSDN, надеюсь там все понятно. Если будут сопросы - спрашивайте в форуме.
Удачи

Приложение:
// A simple program that uses LoadLibrary and // GetProcAddress to access myPuts from Myputs.dll. #include <stdio.h> #include <windows.h> typedef int (*MYPROC)(LPTSTR); VOID main(VOID) { HINSTANCE hinstLib; MYPROC ProcAdd; BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; // Get a handle to the DLL module. hinstLib = LoadLibrary(TEXT("myputs")); // If the handle is valid, try to get the function address. if (hinstLib != NULL) { ProcAdd = (MYPROC) GetProcAddress(hinstLib, TEXT("myPuts")); // If the function address is valid, call the function. if (NULL != ProcAdd) { fRunTimeLinkSuccess = TRUE; (ProcAdd) (TEXT("Message via DLL function\n")); } // Free the DLL module. fFreeResult = FreeLibrary(hinstLib); } // If unable to call the DLL function, use an alternative. if (! fRunTimeLinkSuccess) printf("Message via alternative method\n"); }
Неизвестный
22.05.2007, 18:06
общий
это ответ
Здравствуйте, Vitally!
Ужа какой раз советую почитать всем C++ Глазами хакера!
Там и про сеть и про dll и т.д
=)
Удачи =)
Неизвестный
22.05.2007, 18:49
общий
это ответ
Здравствуйте, Vitally!
Смотри в сторону ф-ций LoadLibrary() и
GetProcAdress(); Еще нужно знать как
объявить указатель на нужную ф-цию из библиотеки.
Удачи!
Форма ответа