VC动态库调用方法

(在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;
          }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值