为什么malloc会失败,处理内存不足的原因之外

CodeMagic 2009-05-13 09:45:09
rt
...全文
1217 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangk 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ye0915715 的回复:]
引用 4 楼 bobob 的回复:
这个失败,大多数情况是你频繁malloc比较大的内存,导致内存碎片太多


怎么处理这种情况呢?
[/Quote]

使用内存池,自己管理内存。适合频繁分配、释放小内存块。
ye0915715 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 licry01 的回复:]
如果排除内存不足的原因, 剩下的就是你其他地方有内存越界误操作, 仔细检查
[/Quote]

内存越界误操作怎么引起内存分配失败,不是很明白
ye0915715 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bobob 的回复:]
这个失败,大多数情况是你频繁malloc比较大的内存,导致内存碎片太多
[/Quote]

怎么处理这种情况呢?
goodname 2009-05-13
  • 打赏
  • 举报
回复
windows下很少会失败了
路人乙2019 2009-05-13
  • 打赏
  • 举报
回复
前面申请的没用了应该释放,并把指针设为NULL
licry01 2009-05-13
  • 打赏
  • 举报
回复
如果排除内存不足的原因, 剩下的就是你其他地方有内存越界误操作, 仔细检查
TADICAN 2009-05-13
  • 打赏
  • 举报
回复
你是否把内存分配表搞坏了?你得到的内存指针前4个字节是做记录用的,如果你在那里写了东西进去,系统检测到。
一般建议在问问题的时候提供尽量多的信息以供别人分析...
yyt_yang 2009-05-13
  • 打赏
  • 举报
回复
首先要看下你是在什么环境下产生的问题,再者如楼上几位所说程序是否循环调用malloc和free,同时再看下malloc失败返回的错误是什么,再进行下一步的查找
CodeMagic 2009-05-13
  • 打赏
  • 举报
回复
请问error该如何查看?
一个程序可以使用最大内存是多少?
wutaihua 2009-05-13
  • 打赏
  • 举报
回复
我觉得有可能是你循环malloc。而且申请的内存没有及时的free导致的。
bobob 2009-05-13
  • 打赏
  • 举报
回复
这个失败,大多数情况是你频繁malloc比较大的内存,导致内存碎片太多
wocow3 2009-05-13
  • 打赏
  • 举报
回复
先看看errno的给出的错误码是什么
w29468 2009-05-13
  • 打赏
  • 举报
回复
内存碎片
qq14923349 2009-05-13
  • 打赏
  • 举报
回复
同样想直到
hurryboylqs 2009-05-13
  • 打赏
  • 举报
回复
数组越界
Allen_zhang 2009-05-13
  • 打赏
  • 举报
回复
我遇到过内存初始化的时候越界破坏了堆栈导致再次分配内存失败

这样的问题还很难查
ok_chenglin 2009-05-13
  • 打赏
  • 举报
回复
最终肯定表现为内存不足,但是导致内存不足的原因则有很多。。。
easydw 2009-05-13
  • 打赏
  • 举报
回复
最好是使用new/delete,new之后一般都要加上判断.

例如:
int * pA = new int;
if (pA == NULL)
return;

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧