首页 > 其他分享 >04. .bss段和.data段、堆、栈

04. .bss段和.data段、堆、栈

时间:2024-10-13 17:10:58浏览次数:5  
标签:调用 04 segment 代码段 bss 存放程序 内存 BSS data

BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的或者初始值为0的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。

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

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

堆(heap):堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新 分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)

栈(stack):是用户存放程序临时创建的局部变量,也就是函数括弧“{}”中定义的变量(但不包括static声明的变量,static意味着在数据段中存放变量)。除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进后出特点,所以 栈特别方便用来保存/恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个寄存、交换临时数据的内存区。

标签:调用,04,segment,代码段,bss,存放程序,内存,BSS,data
From: https://www.cnblogs.com/yyyylllll/p/18462582

相关文章

  • 2024 年 04 月编程语言排行榜,PHP 排名创新低?
    ​ 编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢?PHP一度是Web开发的王者,但如今为何地位岌岌可危?其他语言又是如何......
  • datart前端单独部署到nginx
    这里假设你的本地可以正常跑起来前端项目,服务器为centos7且已经部署了nginx构建前端工程(frontend文件夹下是前端工程)npmrunbuild:all将构建出来的build文件夹放到服务器一个路径下配置nginx.conf,这里只写了http节点下的server节点怎么配置server{listen3000;......
  • 安卓手机数据恢复教程:使用 ADB 制作 data 分区镜像
    安卓手机数据恢复指南:使用ADB制作data分区镜像本文旨在为对安卓玩机有基本了解的用户提供一种使用ADB制作data分区镜像的方法,帮助您在数据没有多次覆写的情况下恢复安卓手机数据。adb制作data分区镜像,然后用数据恢复软件扫描镜像恢复前提条件安卓手机:您的设备......
  • ab压测的选项、示例和主要关注的指标意义以及ab压测问题Connection reset by peer (10
    一、ab压测的选项、示例和主要关注的指标意义1.ab压测的一些选项-nrequests    全部请求数-cconcurrency 并发数-ttimelimit   最传等待回应时间-ppostfile    POST数据文件-Tcontent-typePOSTContent-type-vverbosity   Howmuchtroubl......
  • 信息技术 04 WPS文字处理 图书订购单
    信息技术04WPS文字处理图书订购单素材下载信息技术04WPS文字处理图书订购单链接:https://pan.baidu.com/s/1_S9HMfmiC6JJcjk4nO-tKg?pwd=i304提取码:i304成品样图题目任务实现具体要求如下:①根据设计好的表格的结构,在文档中插入20行4列的表格,设置文档的左右页......