设为首页 加入收藏

TOP

Unix下C程序的内存布局
2014-11-24 12:49:17 来源: 作者: 【 】 浏览:0
Tags:Unix 程序 内存 布局

中总结


按照高位排序:


1.栈,自动变量存储,每次函数调用的信息如函数结束后返回到的地址,调用者的环境信息.新调用的函数会为其自动临时变量分配空间.这就是递归函数的重点,每一次递归函数自我调用,一个新的栈帧会创建,因此他们的数据不会互相干涉到.


2.堆,程序运行时动态分配的数据会被存储在此.


3.未初始化数据段,通常被称为"bss"段,包含在程序中未被显式地初始化的全局变量,在程序被执行前,该段中的数据被内核初始化为数字0或者空指针.


4.已初始化数据段,通常被称为"data"段,包含在程序中被显式地初始化的全局变量.


5.文字段,通常被称为"code"段,CPU可执行的机器指令(二进制代码),文字段是可共享的,因此对于频繁使用的程序,在内存中仅需要维护一份.


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇L?inux中mmap系统调用原理分析与.. 下一篇学习Unix和C语言

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何利用Python做数 (2025-12-24 23:48:36)
·如何使用python进行 (2025-12-24 23:48:34)
·python 爬虫入门该怎 (2025-12-24 23:48:31)
·Java 实现多个大文件 (2025-12-24 23:22:00)
·Java多线程编程在工 (2025-12-24 23:21:56)