汇编中bss,data,text,rodata,heap,stack段的作用
原文:https://blog.csdn.net/bxd1314/article/details/38433837
Table of Contents
bss段:
data段:
text段:
rodata段:
heap堆:
stack栈:
bss段:
BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文BlockStartedby Symbol的简称。BSS段属于静态内存分配。
data段:
数据段(datasegment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
text段:
代码段(codesegment/textsegment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读,某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
rodata段:
存放C中的字符串和#define定义的常量
heap堆:
堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)
stack栈:
是用户存放程序临时创建的局部变量,也就是说我们函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区
汇编中bss,data,text,rodata,heap,stack段的作用相关推荐
- linux代码段映射,bss,data,text,rodata,堆,栈,常量段与其各段在物理存储中关系
本文想从linux出发[目前还想可不可以从51单片机出发],解答程序代码和各种数据结构是如何存储(映射)到存储区的. 目前未完成整理,还是初稿的想法.bss段: BSS段(bsssegment)通常是 ...
- bss,data,text,rodata,堆,栈,常量段
//红色部分为问题部分 section 结构 SECTIONS { ... secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { content ...
- linux 目标文件(*.o) bss,data,text,rodata,堆,栈
学习于:http://blog.csdn.net/sunny04/article/details/40627311 linux目标文件 一个简单的程序被编译成目标文件后的结构如下: 注:初始化为0在此 ...
- STM32——.bss .data .text 与Code, RO-data , RW-data, ZI-data的关系
核心就是RAM和ROM的作用和区别 1 .bss .data .text 1.1 bss段: bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域. bss是英文B ...
- 汇编中的通用寄存器、标志寄存器、段寄存器
通用寄存器: 寄存器和变量差不多,目的都是用于保存一些即将操作的数据 EAX(accumulator) 寄存器:扩展累加寄存器(一般在乘/除中会被主动调用),也可以用于其他用途 ECX(Count) ...
- python-matplotlib中的plt.text函数,wrap参数的作用
wrap其实是换行的意思,默认是不换行的(默认值为False). 这个参数在文本比较长的时候才有用. 具体参见下面的代码 import matplotlib.pyplot as pltfig = pl ...
- SAP LSMW 物料主数据Basic Data Text数据的导入
SAP LSMW 物料主数据Basic Data Text数据的导入 笔者所在的D项目上,业务要求每个物料主数据能有一个remark字段,用以在物料描述之外为物料做更多更详细的描述,比如一些备品备件物 ...
- 堆栈,数据,文本,heap,bss,text data,stack
堆栈,数据,文本,heap,bss,text data,stack text data bss stack heap 段 根据APUE,程序分为下面的段:.text, data (initialize ...
- [转]bss,data,rodata,text
2019独角兽企业重金招聘Python工程师标准>>> BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block S ...
最新文章
- 列选主元guass消去法
- 图灵奖得主LeCun亲授,深度学习课程在线发布|资源
- Fiori Elements - when is project webapp folder annotation.xml loaded
- 李焕英 照片动起来了?B站 up主用AI还原动态影像
- 2018-10-03-Python全栈开发-day60-django序列化-part3
- 编写junit 测试_使用JUnit和Repeat注​​释编写有效的负载测试
- 图片热区map-area
- 电脑老是提示虚拟内存不足的原因及解决办法
- springboot 双缓存设计与使用
- 判断文件是否存在如果不存在则创建
- Mysql基础知识:创建、查看、修改和删除表
- ORB_SLAM : semi dense code
- Android WebView开发(三):WebView性能优化
- oom killer 详解
- hdu 2502月之数
- 谷歌浏览器扩展程序manifest.json参数详解
- Java 埃拉托色尼筛选法
- 【java】微信文章抓取
- 《阴阳师》手游分析报告
- Java+MySQL基于springboot校园博客系统#毕业设计
热门文章
- python从入门到大神---4、python3文件操作最最最最简单实例
- 震惊!几道Python 理论面试题,Python面试题No18
- Python中 '==' 与'is' 以及它们背后的故事
- 在 Xcode 中进行自动化测试 (2/2)
- OpenJTAG与JLink的区别比较
- 多表关联更新,UPDATE FROM用法
- ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法
- mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
- python3.7不能用_解决Python3.7.0 SSL低版本导致Pip无法使用问题
- java字符串连接效率_关于java:字符串连接中的“+”是否会影响效率?