导航:首页 > 程序命令 > 调用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命令后堆栈错误相关的资料

热点内容
pdf复选框 浏览:341
linux用户监控 浏览:35
化妆教程编译 浏览:131
python分组键的形式 浏览:719
佛教造像pdf 浏览:662
医疗不良事件上报系统源码 浏览:754
手机云视频加密怎么关 浏览:74
北京文件夹加密多少钱 浏览:671
什么是车鉴定app 浏览:66
战地一私人服务器怎么买 浏览:497
陈天程序员 浏览:833
编译原理如何运用到编程中 浏览:18
linux选择数据库 浏览:376
php两个数组差集 浏览:978
迷你pdf阅读器下载 浏览:433
做一个python小程序 浏览:655
pythonossystem和 浏览:645
win2008如何搭建ftp服务器 浏览:53
安卓手机为什么不翻牌 浏览:546
删除pkpm及相关文件夹 浏览:481