有没有办法找到堆内存的起始和结束地址。
#include<stdio.h>
void main()
{
printf("Ending address of Heap: %x\n",sbrk(0));
}
上面的代码显示了堆内存的结束地址。就像那样 有没有办法找到堆的起始地址。
输出:
Heap的结束地址:8556000
答案 0 :(得分:1)
在Linux上你可以打开文件/ proc / self / maps, 例如使用fopen,然后读取它直到找到行 像这样:
0060f000-00630000 rw-p 00000000 00:00 0 [heap]
0060f000-00630000 - 堆的地址范围