gpt4 book ai didi

c++ - 为什么 malloc 总是返回 NULL

转载 作者:可可西里 更新时间:2023-11-01 13:26:43 26 4
gpt4 key购买 nike

我的开发环境是VS2008、DX9、Windows XP。我尝试为内存不足的情况添加保护处理。当 malloc 返回 NULL 时,我会将一些资源分页到磁盘,然后释放内存中的资源。

但有时,malloc 总是返回 NULL,即使我释放了大部分资源和进程内存使用并且 VM 大小在任务管理器中只有 800MB。

我认为使用 malloc 分配 88 字节应该没问题,其中进程内存使用量仅为 800MB。但是 malloc 总是返回 NULL。

这会不会是内存碎片?它看起来不像那样,因为进程内存使用量不是太多。

alt text http://i.imagehost.org/0267/Snap2.jpg

最佳答案

您提到了内存碎片,这肯定是我的第一个猜测。尝试下载 this应用。它称为 Address Space Monitor,如果是碎片问题,它应该能够向您显示。

关于c++ - 为什么 malloc 总是返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2361225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com