Linux应用程序地址布局
Posted payne1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux应用程序地址布局相关的知识,希望对你有一定的参考价值。
Linux应用程序内存布局
1.从低地址到高地址分别为:代码段、数据段、BSS段、堆、栈(BSS,Block Started by Symbol,又名:未初始化数据段)
2.堆向高内存地址生长
3.栈向低内存地址生长
Linux每个应用程序的起始地址都是0X8048000,是个虚拟地址
数据存放
1.代码段:代码,全局常量(const)、字符串常量
2.数据段:全局变量(初始化以及未初始化的)、静态变量(全局的和局部的、初始化的以及未初始化的)
3.堆:动态分配的区域
4.栈:局部变量(初始化以及未初始化的,但不包含静态变量)、局部只读变量(const)
BSS段分析:
readelf -S 程序名
以上是关于Linux应用程序地址布局的主要内容,如果未能解决你的问题,请参考以下文章