UNIX环境表在C进程中的内存位置

xuhaoee 2017-10-23 10:44:38
最近在疑惑一件事情,在shell窗口中启动一个C进程,子进程会继承父进程的环境表,请问继承了环境表之后,环境表存储在C进程虚拟地址空间的什么位置中呢?数据区还是堆区?请各位大神答疑解惑,谢谢~~
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
heronism 2017-12-07
  • 打赏
  • 举报
回复
既不是正文段也不是数据段,是内存映像的高地址区,即最高的那一部分,在堆空间之上。
踏岸寻柳 2017-11-21
  • 打赏
  • 举报
回复
试一试environment/arguments section 进 程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段(如代码段,数据段,BSS段,堆段,栈段)。在进程被载入内存中时,基本上被分裂成主要的6个小的节(section)---如, .text节, .data节, .bss节, 堆节, 栈节, 环境/参数节.

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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