【发布时间】:2023-03-08 23:10:02
【问题描述】:
我有 MyDll.dll 及其函数定义如下
void pascal Myfunction(BOOL);
当我尝试在另一个项目中使用该函数时,我无法通过GetProcAddress() 获取该函数的地址。这是我的代码:
void callMyDll()
{
HINSTANCE hDll;
hDll=LoadLibrary(_T("MyDll.dll");
if(hDll!=NULL)
{
cout<<"\n DLL Loaded \n";
}
else
cout<<"\n DLL Not loaded\n"
typedef void (__stdcall *MyFunction)(bool)
Myfunction mf1 = (MyFunction) GetProcAddress(hDll, "MyFunction");
if (mf1!=NULL)
cout<<"\n Function Loaded Successfully \n";
else
cout<<"\n Function not loaded \n";
FreeLibrary(hDll);
}
我得到的输出是:
DLL Loaded
Function not loaded
但是当我尝试使用像 glut32.dll 这样的已知 DLL 及其函数时,它工作正常。
我认为它的功能可能有问题
void pascal MyFunction(BOOL);
有人可以在这方面帮助我吗?
【问题讨论】:
-
在头文件之后我已经包含了这个
-
你记得导出函数吗?
-
请向我们展示您的 DLL 源代码中的函数声明。
标签: c++ dll getprocaddress