永发信息网

c语言测内存边界

答案:1  悬赏:80  手机版
解决时间 2021-03-09 11:29
c语言如何测出 栈内存 堆内存 全局静态区 常量区 代码段区的 内存边界啊?
代码如何写? 用递归吗?
新手麻烦 帮帮忙
最佳答案
在release模式下是测不出内存的边界的。但是如果你访问内存超出程序的内存范围,程序出错而退出的
在debug模式下可以测出由malloc函数分配的内存边界, 一般是连续四个字节的0xFD, 其他的也没有边界.不过堆内存初始化为0xCD, 栈内存初始化为0xCC,也可以看出也可以看出刚分配的内存的界限.

一般读取内存没有问题,但是往常量区 代码段区些数据时,程序就会出错.

void disMem(int offset, int len)
{
int i, n;
unsigned char * pl = (unsigned char *)0 + offset;

unsigned char * ph = pl + len;
n = offset % 16;
for(i =0; i< n; i++) printf(" ");
while(pl < ph)
{
if((long)pl % 16 == 15) printf("%02X ", *pl++);
else printf("%02X\n", *pl++);
}
}
这个可以显示内存offset处长度为len的内存中的数据内容.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
(2014?临沂三模)常温下,相同pH的氢氧化钠
伽途gt上市时间
女人为什么一边和我暧昧,一边带男友过来在我
太平洋7.2米碳布台钓钓鱼竿鱼竿 什么价钱
1)化简(根号3再减去)^2004乘以(根号3再加上2)
多方面思考问题好吗
妙济中医馆在哪里啊,我有事要去这个地方
请问窗户玻璃上有几道裂纹影响使用寿命吗?
如图是某种窗户的形状,其上部是半圆形,下部是
南海隆嘉不锈钢单县总代理我想知道这个在什么
一个月多少秒
闭目难立征
单选:对该求助者的初步诊断是()。A.一般心理
谁知道唐山市内哪里的中医大夫病看的最好?
有一首女人唱粤语的歌曲:最后一句是:在我心里
推荐资讯
妈妈让我问婆婆借钱,可老公却让我妈妈自己问
Have the courage to follow your heart and
晒太阳对白细胞有什么影响吗?
小向家衣橱这个地址在什么地方,我要处理点事
朋友是女的在医院手术,想发个问候与祝福的贺
背部脊柱两边的大筋酸疼,是什么问题?用什么
电脑换了个硬盘,怎么自动链接网络
【吸尘器的工作原理】关于吸尘器工作原理的问
sina=5/4,那么sin(a+4/pi)-二/根号2R
紫薇永和坊为什么便宜
撸管时出现的白色液体是什么
四沟村地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?