对 PInvoke 函数的调用导致堆栈不对称问题
生活随笔
收集整理的這篇文章主要介紹了
对 PInvoke 函数的调用导致堆栈不对称问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C#調(diào)用C語(yǔ)言封裝的dll時(shí)發(fā)生中斷:
問題描述:
?????? 在使用托管代碼調(diào)用非托管代碼時(shí),發(fā)生“對(duì)?
PInvoke?
函數(shù)“UseTwiHikVisionDllTest!UseTwiHikVisionDllTest.TwiHikVision::GetFirstPic”的調(diào)用導(dǎo)致堆棧不對(duì)稱。原因可能是托管的?
PInvoke 簽名與非托管的目標(biāo)簽名不匹配。請(qǐng)檢查 PInvoke 簽名的調(diào)用約定和參數(shù)與非托管的目標(biāo)簽名是否匹配。”
解決方法:
添加屬性:?CallingConvention=CallingConvention.Cdecl
如:??
???
? [DllImport("TwiHikVision.dll", EntryPoint="GetFirstPic",?CallingConvention=CallingConvention.Cdecl)]??
?????? public static extern string GetFirstPic(string videoFileName, string exportFilePath);
總結(jié)
以上是生活随笔為你收集整理的对 PInvoke 函数的调用导致堆栈不对称问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组装与维修bios设置,(完整版)
- 下一篇: MCMC算法原理及其实例