Linux下C程序进程地址空间布局

我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间中典型的存储区域分配情况。

Linux下C程序进程地址空间布局

从图中可以看出:

从低地址到高地址分别为:代码段、(初始化)数据段、(未初始化)数据段(BSS)、

堆、栈、命令行参数和环境变量

堆向高内存地址生长 栈向低内存地址生长

还经常看到下面这个图(来源,不详):

你可能喜欢

  • 进程间通信
  • 运维监控
  • 虚拟地址
  • 虚拟空间
  • linux内核启动分析

Linux下C程序进程地址空间布局相关文档

最新文档

返回顶部