(在vs 2010中测试通过)
typedef int (__stdcall *MyFunc1)(char *pErrmsg); //定义一个自己的函数指针
FARPROC lpFunc1;
CString szDLLPath;
char *pErrMsg;//调用参数定义
MyFunc1 _MyFunc1;//声明一个自定义函数指针
szDLLPath.Format(_T("%s%s"), szExePath, "xxxxx.dll"); //xxxxx.dll动态库文件
dllHandle=LoadLibrary(szDLLPath);//动态调用
if(dllHandle!=NULL){
typedef int(WINAPI *iOpenPort)(char *pErrmsg);
lpFunc1=GetProcAddress(dllHandle,"xxxxxxxx");//xxxxxxxx函数名
_MyFunc1 = (MyFunc1)lpFunc1; //将函数指针强制转成自己的函数定义
pErrMsg=new char(20);
int k=_MyFunc1(pErrMsg); //函数调用
if(k!=0)
{
AfxMessageBox("error message!");
return;
}
}