Я пытаюсь загрузить DLL динамически, используя LoadLibrary()
, что работает, однако я не могу получить адрес функции в той DLL, которую пытаюсь вызвать.
Функция DLL:(в файле CPP)
_declspec(dllexport) void MyDllFunc()
{
printf("Hello from DLL");
}
Телефонный код:
typedef void (*MyDllFuncPtr)();
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE LoadMe;
LPCWSTR str = L"C:\\Users\\Tony\\Documents\\Visual Studio 2008\\Projects\\DLL Loading\\Release\\MyDll.dll";
LoadMe = LoadLibrary(str);
if(LoadMe != 0)
printf("Successfully Loaded!\r\n");
else
printf("Loading Failed \r\n" );
MyDllFuncPtr func;
func = (MyDllFuncPtr)GetProcAddress(LoadMe, "MyDllFunc");
if (func != NULL)
func();
FreeLibrary(LoadMe);
}
func возвращает NULL !!!
Что я делаю не так?
Это проект консоли Win32.