.bss .data .text 区别


2007-11-13 14:52:10|  分类: 嵌入式开发|字号 订阅

BSS段

在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配

数据段

在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化全局变量的一块内存区域。数据段属于静态内存分配

代码段

在采用段式内存管理的架构中,代码段(text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域属于只读。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。

堆栈

堆栈又称堆栈(stack)在计算机科学中,是一种特殊的链表形式的数据结构,它的特殊之处在于只能允许在链表的一端(称为栈顶,英文为top)进行添加和删除操作。另外堆栈数据结构的实现也可以通过数组来完成。

严格来说堆是指Heap,程序运行时供程序员来支配的一段内存。而栈Stack,多指函数调用时候参数的相互传递存在的内存区域。

由于堆栈数据结构只允许在一端进行操作,因而按照先进后出(LIFO-Last In First Out)的原理工作。

堆栈数据结构支持两种基本操作:压栈(push)和弹栈(pop):

1.                  压栈(入栈):将对象或者数据压入栈中,更新栈顶指针,使其指向最后入栈的对象或数据。2.                  弹栈(出栈):返回栈顶指向的对象或数据,并从栈中删除该对象或数据,更新栈顶

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值