赞
踩
操作系统内核
栈区:程序运行中用于存放局部变量的地方
向下生长(高–>低)
共享库映射区域:当程序是动态链接的,那么其依赖库就会映射到这一块
堆区:malloc或者new申请新的空间,将从堆区分配出去
向上生长(从低到高)
可读可写区:用于映射data段和bss段,也就是存放程序全局静态变量的地方
只读区:映射ELF文件 的 .test(有的有x)(程序执行流所在的段)
未使用的地方:
在kali上写一个简单的功能为输出进程号的test.c
#include <stdio.h>
#include <unistd.h>
int main()
{
printf("pid: %d\n",getpid());
getchar(); // 不让它快速结束
return 0;
}
编译运行
cat /proc/PID/maps
查看进程的虚拟地址空间是如何使用的
(root声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/705291
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。