首页 > 其他 > 详细

函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。

时间:2016-03-30 12:56:35      阅读:356      评论:0      收藏:0      [点我收藏+]

C#引入外部非托管类库时,有时候会出现“对PInvoke函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配”的报错。

通常在DllImport标签内加入属性CallingConvention=CallingConvention.Cdecl即可解决该问题。

如:     
  [DllImport("AutoAnalyse.dll", EntryPoint="Measure", CallingConvention=CallingConvention.Cdecl)]  
       public static extern string Measure(string baseKey, string project);

函数调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。

原文:http://www.cnblogs.com/ultimateWorld/p/5336672.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!