作者erspicu (.)
看板C_Sharp
标题[问题] PInvokeStackImbalance问题
时间Mon Jan 30 17:35:08 2012
PInvokeStackImbalance was detectedMessage: 对 PInvoke 函式
'libzbar-cil!ZBar.Image::zbar_image_set_data' 的呼叫已使堆叠失去平衡。
这可能是因为 Managed PInvoke 签章和 Unmanaged 目标签章不相符。
请确认 PInvoke 签章的呼叫惯例及参数与目标 Unmanaged 签章是否相符。
後来追下去後 猜测是载入dll档 在宣告指标长度上有相容问题?
也发现有人跟我遇到一样的问题 下面有相关讨论
http://jopsen.dk/blog/2011/03/version-0-10-of-zbar-sharp-is-out/
想请问 ptr指标在32位元和64位元环境上 有没有什麽相容性该注意的地方?
ex.在32位元下开发编译出dll档
能否直接拿去给64位元的程式使用?
zbar charp版 跑是可以跑
但是在debug模式下都会报错
忽略错误警告讯息的话 一样可以跑完
得到正确结果
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.56.181
※ 编辑: erspicu 来自: 60.248.56.181 (01/30 18:10)
1F:推 howardgod:你是用DLLImport吗? 02/01 12:11
2F:→ howardgod:你call的dll如果是用c写的话,在dllimport那边加上 02/01 12:12
3F:→ howardgod:CallingConvention = CallingConvention.Cdecl 02/01 12:12