进入动态链接库函数后,传入指针改变的bug

出现这个问题的原因是导出函数的实际返回值类型和GetProcAddress获得函数指针时定义的函数指针的函数返回值类型不一致导致。

如:导出函数为

extern "C" bool LICENSE_CLASS _stdcall isLicensed(char* licensefile);

使用时却为

typedef string(*func_isLicensed)(char* );

HANDLE g_hinst = LoadLibrary("xxxx.dll");

pfFunc_isLicensed = (func_isLicensed)GetProcAddress(g_hinst, "isLicensed");

 

若调试,进入isLicensed前和进入isLicensed后指针licensefile的值会变,导致程序运行出错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值