linux---内存分区(代码段text、BSS、数据区data、栈stack、堆heap)

本文介绍了Linux内存分区,包括代码段(文本段)、.rodata段(只读数据)、数据区(.data和.bss)、栈和堆。讨论了哈弗结构与冯诺依曼结构的差异,并详细阐述了不同内存段的作用,如代码段存储指令和只读常量,.rodata段存储只读数据,栈用于函数调用,堆则用于动态内存分配。
摘要由CSDN通过智能技术生成

曼哈顿结构和冯诺依曼结构

哈弗结构:代码和数据分开存储,具有较高的执行效率(代码段只读)

冯诺依曼结构:代码和数据合并在一起(即代码段可写)

linux内存分布:

1、Text(代码区):二进制,只读
2、Bss(静态区or全局区):
		未初始化或初始化为0的全局变量、静态变量,具体体现为一个占位符,并不给该段的数据分配空间,只是记录数据所需空间的大小
3、Data(数据段/静态存储区):存放初始化(普通+静态)全局变量和(全局 + 局部)静态变量
		因为字符串常量很少需要修改,放在静态内存区会提高效率
		//BSS由数据段衍生出去
4、Stack:局部变量
5、Heap:new
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值