CSDN上第一解决了问题

刚学MFC 不久,刚上CSDN不久,前辈介绍很有用,高手多的地方,所以也经常来看看

今天终于解决了一个问题  虽然是别个早就已经解决的 但是还是很感谢

 

http://topic.csdn.net/t/20040410/22/2950165.html

 

已知有一dll中有一函数返回值为整型数,参数为6个串,参数可在dll的函数中被改变,我使用如下语句调用该函数:  
  typedef   int   (*TEST)(CString&,CString&,CString&,CString&,CString&,CString&);  
  TEST   test;  
  test=(TEST)GetProcAddress(hinst,"test");  
  test(a,b,c,d,e,f);  
 
运行时得到如下错误信息
:  
  The   value   of   ESP   was   not   properly   saved   across   a   function   call.     This   is   usually   a   result   of   calling   a   function   declared   with   one   calling   convention   with   a   function   pointer   declared   with   a   different   calling   convention.    
 
但是其他的程序(别人的程序)可以正常调用这个函数,请问这是为什么?

 

  __stdcall调用约定Top

typedef   int   (_stdcall   *TEST)(CString&,CString&,CString&,CString&,CString&,CString&)

 

 

 

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值