原文: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段的作用相关推荐

  1. linux代码段映射,bss,data,text,rodata,堆,栈,常量段与其各段在物理存储中关系

    本文想从linux出发[目前还想可不可以从51单片机出发],解答程序代码和各种数据结构是如何存储(映射)到存储区的. 目前未完成整理,还是初稿的想法.bss段: BSS段(bsssegment)通常是 ...

  2. bss,data,text,rodata,堆,栈,常量段

    //红色部分为问题部分 section 结构 SECTIONS { ... secname start BLOCK(align) (NOLOAD) : AT ( ldadr )   { content ...

  3. linux 目标文件(*.o) bss,data,text,rodata,堆,栈

    学习于:http://blog.csdn.net/sunny04/article/details/40627311 linux目标文件 一个简单的程序被编译成目标文件后的结构如下: 注:初始化为0在此 ...

  4. 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 ...

  5. 汇编中的通用寄存器、标志寄存器、段寄存器

    通用寄存器: 寄存器和变量差不多,目的都是用于保存一些即将操作的数据 EAX(accumulator) 寄存器:扩展累加寄存器(一般在乘/除中会被主动调用),也可以用于其他用途 ECX(Count) ...

  6. python-matplotlib中的plt.text函数,wrap参数的作用

    wrap其实是换行的意思,默认是不换行的(默认值为False). 这个参数在文本比较长的时候才有用. 具体参见下面的代码 import matplotlib.pyplot as pltfig = pl ...

  7. SAP LSMW 物料主数据Basic Data Text数据的导入

    SAP LSMW 物料主数据Basic Data Text数据的导入 笔者所在的D项目上,业务要求每个物料主数据能有一个remark字段,用以在物料描述之外为物料做更多更详细的描述,比如一些备品备件物 ...

  8. 堆栈,数据,文本,heap,bss,text data,stack

    堆栈,数据,文本,heap,bss,text data,stack text data bss stack heap 段 根据APUE,程序分为下面的段:.text, data (initialize ...

  9. [转]bss,data,rodata,text

    2019独角兽企业重金招聘Python工程师标准>>> BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block S ...

最新文章

  1. 列选主元guass消去法
  2. 图灵奖得主LeCun亲授,深度学习课程在线发布|资源
  3. Fiori Elements - when is project webapp folder annotation.xml loaded
  4. 李焕英 照片动起来了?B站 up主用AI还原动态影像
  5. 2018-10-03-Python全栈开发-day60-django序列化-part3
  6. 编写junit 测试_使用JUnit和Repeat注​​释编写有效的负载测试
  7. 图片热区map-area
  8. 电脑老是提示虚拟内存不足的原因及解决办法
  9. springboot 双缓存设计与使用
  10. 判断文件是否存在如果不存在则创建
  11. Mysql基础知识:创建、查看、修改和删除表
  12. ORB_SLAM : semi dense code
  13. Android WebView开发(三):WebView性能优化
  14. oom killer 详解
  15. hdu 2502月之数
  16. 谷歌浏览器扩展程序manifest.json参数详解
  17. Java 埃拉托色尼筛选法
  18. 【java】微信文章抓取
  19. 《阴阳师》手游分析报告
  20. Java+MySQL基于springboot校园博客系统#毕业设计

热门文章

  1. python从入门到大神---4、python3文件操作最最最最简单实例
  2. 震惊!几道Python 理论面试题,Python面试题No18
  3. Python中 '==' 与'is' 以及它们背后的故事
  4. 在 Xcode 中进行自动化测试 (2/2)
  5. OpenJTAG与JLink的区别比较
  6. 多表关联更新,UPDATE FROM用法
  7. ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法
  8. mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
  9. python3.7不能用_解决Python3.7.0 SSL低版本导致Pip无法使用问题
  10. java字符串连接效率_关于java:字符串连接中的“+”是否会影响效率?