导航:首页 > 程序命令 > 调用dll命令后堆栈错误

调用dll命令后堆栈错误

发布时间:2022-07-27 01:56:21

㈠ 我正在学习用c#调用vc6制作的dll。报错:调用导致堆栈不对称

栈不对称一般是调用约定不一致。
比如VC6里面的声明时用__cdecl,而C#中没有指定__cdecl方式,则会出现以上错误。
C#中导出接口时使用__cdecl的方法:
[DllImport( "msvcrt.dll ", CharSet=CharSet.Ansi, CallingConvention=CallingConvention.Cdecl)]
public static extern int Max(int a, int b);
不过看你上面的定义里看出Max这个函数为__stdcall(默认)。
你再按这个思路检查一下吧。

㈡ 调用dll命令后发现堆栈错误

VB6是吧。DLL文件中函数的调用方式应该为__stdcall
如果是默认的__cdecl就会出问题

㈢ 易语言 dll 堆栈错误(多返回)

把N,M从局部变量和参数中去掉,另设N,M为全局变量。
要多返回也好办,改返回值类型为文本型,最后,返回(到文本(N)+“,”+到文本(M))
取回这个文本后用分割文本也好,用寻找文本也好,分出多返回值就行。

㈣ 易语言调用DLL命令后发现堆栈错误怎么解决

堆栈错误一般是用因为用stdcall调用cdecl的函数。
在调用cdecl的函数前插入这句代码,就能自动平衡堆栈
-----------------------------------------
置入代码 ()
---------------------------------------------

就是该成:
----------------
置入代码 (“参考上面,不能用变量”)
test ()
------------------

最简单的还是改DLL的调用约定为 __stdcall

如果你还要源代码,请直接在网络发消息给我。
因为我懒得登陆邮箱了。

㈤ C#调用C++.dll库发生堆栈不平衡的问题。请问如何解决

声明调用方式,字符集了嘛?
不对称一般来说是参数问题,确保参数类型一致外还需要字符集类型一致,调用方式一致
一段设置调用方式。设置字符集的代码如下

[UnmanagedFuctionPointer(CallingConvention.StdCall,CharSet=CharSet.Unicode)]
接函数调用声明

㈥ 调用dll命令后发现堆栈错误怎么办

建议使用腾讯电脑管家
腾讯电脑管家电脑诊所针对commom.dll、MSVC**.dll、d3dx**.dll等常见的dll文件丢失问题,推出了一键修复功能。在网上下载安装腾讯电脑管家8.0版本后,打开程序,点击右上角“电脑诊所——软件问题——丢失dll文件”,进入dll一键修复区,找到相应要修复的dll选项,点击“立即修复”即可恢复正常。十分方便,建议试试。

㈦ 易语言调用DLL命令后发现堆栈错误

应该是调用某个dll里的某个函数!调试一下是不是真的堆栈错误?一般的是在函数调用约定上出问题导致堆栈失衡

阅读全文

与调用dll命令后堆栈错误相关的资料

热点内容
杀手47为什么连接不了服务器 浏览:106
静态路径命令 浏览:531
一直编译不过怎么办 浏览:827
汽车串联并联算法 浏览:458
助眠解压的声音音频小哥哥 浏览:275
pythoncmd换行 浏览:374
linux取消行号 浏览:353
安卓原生系统官网是什么 浏览:444
底部主图源码 浏览:878
服务器崩了有什么提示 浏览:780
远程海康服务器用什么浏览器 浏览:232
解压报纸图片 浏览:956
python微信公众号开发平台 浏览:895
知识付费网站java源码 浏览:255
方舟怎么做命令管理 浏览:849
linux流量异常 浏览:675
单片机如何给电脑加密码 浏览:519
如何删掉多余的服务器 浏览:220
c编程算法 浏览:833
堵车如何缓解压力 浏览:17