主题五 内存管理的艺术----31.程序文件的一般布局

来源:互联网 发布:电信大数据应用案例 编辑:程序博客网 时间:2024/06/01 14:00

程序静态内存布局(文件布局)

 

程序执行时内存布局(进程,内存映射)


各个段的作用

堆栈段在程序运行后才正式存在(栈最先创立,函数入口main也是函数,需要栈),是程序运行的基础

.bss段存放的是未初始化的全局变量和静态变量

.text段存放的是程序中的可执行代码

.data段存放的是那些已经初始化了的全局变量和静态变量

.rodata段存放程序中的常量值(不能被修改),如字符串常量。

 

程序术语对应关系

静态存储区通常指程序中的.bss和.data段

只读区通常指程序中的.rodata段

局部变量所占空间为栈上空间

动态空间为堆中的空间

程序可执行代码存放于.text段

思考:函数地址对应于程序的哪个段?

同是全局变量和静态变量,为什么初始化的和未初始化的保存在不同的段中


原创粉丝点击