码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-03-30 12:56:44      阅读:139      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!