hdxzd12 发表于 2024-3-24 09:06

分配 930957320 字节内存失败(读入文件)

本帖最后由 20230713G001133 于 2024-3-28 12:43 编辑

---------------------------
错误
---------------------------
运行时出错!



错误信息:分配 930957320 字节内存失败!



0, 0


---------------------------
确定   
---------------------------

爱飞的猫 发表于 2024-3-24 09:41

文件太大了哦

易语言程序是 32 位,寻址范围是 4G。应该是可用的连续内存空间不够用了。

要实现的话,应该要修改查毒算法,使其支持分块扫描文件。

商朝电工 发表于 2024-3-24 09:47

感谢分享,下载试用。

moyinya 发表于 2024-3-24 13:08

易语言读取文件请分段读取哦,虽然说32位最大是4g内存,但是实际上读1g甚至500m就崩了

massagebox 发表于 2024-3-24 13:11

文件太大了,本来易语言的性能就不怎么好,再来个大文件

hdxzd12 发表于 2024-3-25 12:02

爱飞的猫 发表于 2024-3-24 09:41
文件太大了哦

易语言程序是 32 位,寻址范围是 4G。应该是可用的连续内存空间不够用了。


是不是说分段读取文件,然后给每一部分都生成一个句柄,然后通过这个句柄获取这部分的字节集(那个汇编MD5模块的思路)

爱飞的猫 发表于 2024-3-25 18:03

20230713G001133 发表于 2024-3-25 12:02
是不是说分段读取文件,然后给每一部分都生成一个句柄,然后通过这个句柄获取这部分的字节集(那个汇编MD ...

读取到其中一部分的时候就挂了。因为不能同时占用那么多内存。

假如你的文件比你的内存还要大,你不管怎么塞都不能在同一时间将文件的所有内容塞到内存里。

hdxzd12 发表于 2024-3-25 22:12

爱飞的猫 发表于 2024-3-25 18:03
读取到其中一部分的时候就挂了。因为不能同时占用那么多内存。

假如你的文件比你的内存还要大,你不管 ...
你是说这样吗(像下面这样写还会出现这个错误)

爱飞的猫 发表于 2024-3-25 23:48

20230713G001133 发表于 2024-3-25 22:12
你是说这样吗(像下面这样写还会出现这个错误)

对的,每次读一部分处理。但是你使用的算法也需要更新,支持这样扫描。
页: [1]
查看完整版本: 分配 930957320 字节内存失败(读入文件)