.bss .data .text 区别
2013-12-22 00:02
197 查看
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. 弹栈(出栈):返回栈顶指向的对象或数据,并从栈中删除该对象或数据,更新栈顶
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. 弹栈(出栈):返回栈顶指向的对象或数据,并从栈中删除该对象或数据,更新栈顶
相关文章推荐
- 十五章
- java 类加载器
- 关于 resgen.exe已退出 代码为 2 的错误问题的解决办法。
- Shadow学习笔记(PSM,LiSPSM,TSM,PSSM,CSM)
- WCDMA基本概念
- php安装xdebug/php安装pear/phpunit详解步骤(图)
- 在线一元二次方程计算器实例(方程计算器在线计算)
- JS中的异常处理方法分享
- 开启bin-log日志mysql报错的解决方法
- mysql服务无法启动报错误1067解决方法(mysql启动错误1067 )
- Hadoop 中 MapReduce 新旧改变
- 使用Sass创建弹性网格
- 组织Sass文件
- sevletDao 实现
- servletService
- servletTool
- servlet Js
- jsp
- jsp2
- jsp3