搜索
bottom↓
回复: 2

求解,程序在内存上运行时,内存使用是否是随机的,还是连续的,所谓的内存崩溃是否是栈底不

[复制链接]

出0入0汤圆

发表于 2011-5-28 11:35:26 | 显示全部楼层 |阅读模式
我对程序在内存上的运行状况比较迷糊不解,

1---今天我运行ucos,并检查其内存情况,ucos的检查方案是重栈底开始向上累加,不为0的就是没有使用的内存。
    但是问题就在,我发现它的内存使用是分散的,没有在连续的位置上,这就让我不解了,ucos这样提供一个检查内存的函数是否没什么意义,因为它只要
    遇到不为0就停止检测,但是程序在内存上的使用是分散的,没有完全统计。

2---如果检测内存时,其输出值表示内存使用情况已经爆满了,是否此时会自动去寻找可用的空间,还是程序直接挂了。咱们平常ucos任务跑起来有可能是任
    务栈不够大,那运行时怎么来判断到极限了,难到只要栈底不为0就表示任务栈爆了吗?

3---还有一个问题时,当调用一个函数执行完后,是否此块内存会释放并清0。。。

4---一直一来都对程序在内存上运行所使用的原理和流程不解,请高人解析下。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2011-5-28 11:36:20 | 显示全部楼层
第一点说错了,是不为0 表示已经使用的内存,为0表示没有使用

出0入0汤圆

发表于 2011-5-28 11:43:57 | 显示全部楼层
我只能回答你的3:函数调用完毕后,内存没有清零,只是把sp设置到调用前的位置。
关于4:自己用软件仿真一下,看c翻译成汇编的规则。。。。还是局部变量的申请规则
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-4 07:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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