递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 239|回复: 4
打印 上一主题 下一主题

[其它] 【易语言】哪位大佬知道易语言内存分配错误怎么解决

[复制链接]

28

主题

109

帖子

742

积分

高级会员

Rank: 4

积分
742
跳转到指定楼层
楼主
发现操作的变量大于500M有概率触发内存分配错误,虽然32位应用可以申请的内存空间不大,但是500多兆就报错有点离谱了
请教下大佬是什么原因
系统环境:64位win10 物理内存24GB 可用20GB 虚拟内存配置为系统管理

如下图GIF 共演示了2个函数
函数1当变量内存占用到1.5G+时必报错
函数2当变量仅仅占用500M+时存在几率报错




测试代码: test.e.zip (1.13 KB, 下载次数: 3)


回复

使用道具 举报

18

主题

210

帖子

2571

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2571
沙发
发表于 3 天前 | 只看该作者
是因为你在调试状态,如果编译出来测试就没问题了。调试状态下,申请的内存释放机制和编译状态下不一样。你点击按钮2, 点慢点没事,点快了,刚刚申请的内存还没有释放,自然就溢出报错了。按钮1 报错应该也是因为调试时会执行一系列额外的操作引起的(可能吧)。
回复

使用道具 举报

448

主题

2782

帖子

9542

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9542
板凳
发表于 3 天前 | 只看该作者
不知道原因,但是我也是知道易语言32位和火山32位使用内存上限是没法比的,有可能是易语言使用vc6编译器太古老了,优化上远不如VS2019
回复

使用道具 举报

29

主题

2568

帖子

9057

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
9057
地板
发表于 3 天前 | 只看该作者
1、虽然理论上32位程序最大能调用2GB内存,但因为内存碎片和数据结构之类的影响,一般只能用到1.5G左右;

2、应该是内存释放有延迟,段时间内重复申请会超过内存上限;
回复

使用道具 举报

16

主题

528

帖子

3501

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3501
5#
发表于 前天 22:51 | 只看该作者
内存超出上限,都提示那么明显了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-10-16 14:18 , Processed in 0.088431 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表