j519948746 发表于 2025-10-13 21:52:29

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

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

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




测试代码:


小小小小鸟 发表于 2025-10-13 22:31:55

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

shuimiao 发表于 2025-10-13 22:32:37

不知道原因,但是我也是知道易语言32位和火山32位使用内存上限是没法比的,有可能是易语言使用vc6编译器太古老了,优化上远不如VS2019

Xelloss0618 发表于 2025-10-13 22:45:21

1、虽然理论上32位程序最大能调用2GB内存,但因为内存碎片和数据结构之类的影响,一般只能用到1.5G左右;

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

福寿 发表于 2025-10-14 22:51:44

内存超出上限,都提示那么明显了
页: [1]
查看完整版本: 【易语言】哪位大佬知道易语言内存分配错误怎么解决