BSS段和数据段

2023-05-16

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

内存分段(英语:Memory segmentation),一种电脑内存的管理技术,它将电脑的主内存分成许多区段(segment或sections)。当处理器要进行内存定址时,会使用一个数值,这个数值包括了某个区段,以及偏移量(offset)。一个程式的目的档(Object file)中也会使用区段,让它们可以链接成执行档,并载入内存中执行。

 

BSS段:

在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。.bss section 的空间结构类似于 stack。特征:静态变量、未显式初始化、在变量使用前由运行时初始化为零。

 

数据段:

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

 

程序03:

/* stack03.c */

int a;

int main(int argc, char * argv[]) {

    return 0;

}

程序04:

/* stack04.c */

int a = 12;

int main(int argc, char * argv[]) {

    return 0;

}

程序05:

/* stack05.c */

int a = 0;

int main(int argc, char * argv[]) {

    return 0;

}

 

 

 

汇编代码:

-----------------------------------

        TITLE   stack03.c

_DATA   SEGMENT

COMM    _a:DWORD※仅仅是定义

_DATA   ENDS

-----------------------------------

        TITLE   stack04.c

PUBLIC  _a

_DATA   SEGMENT

_a      DD      0cH※不是零的初始化。

_DATA   ENDS

-----------------------------------

        TITLE   stack05.c

PUBLIC  _a

_BSS    SEGMENT

_a      DD      01H DUP (?)※零的初始化

_BSS    ENDS

-----------------------------------

 

AT汇编:

-----------------------------------

        .file   "stack03.c"

        .comm   _a, 4, 2   ※仅仅是定义

-----------------------------------

        .file   "stack04.c"

        .globl  _a

        .data

        .align 4            ※不是零的初始化。

_a:

        .long   12

-----------------------------------

        .file   "stack05.c"

        .globl  _a

        .bss

        .align 4            ※零的初始化

_a:

        .space 4

-----------------------------------

 

(完)

转载于:https://my.oschina.net/dubenju/blog/803574

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BSS段和数据段 的相关文章

  • 分享8年开发经验,浅谈个人发展经历,明确自己发展方向

    在中国有很多人都认为IT行为是吃青春饭的 xff0c 如果过了30岁就很难有机会再发展下去 xff01 其实现实并不是这样子的 xff0c 在下从事 NET及JAVA方面的开发的也有8年的时间了 xff0c 在这里在下想凭借自己的亲身经历
  • 基于QRencode的 QT二维码显示 QImage像素操作和QPainter

    Qt二维码 QRencode库Qt中使用QRencode库显示二维码方法一 xff08 QImage直接修改操作像素点 xff0c 但只有黑白灰色 xff09 方法二 xff08 QImage 43 QPainter xff0c 可自定义颜
  • Linux 一直提示 login incorrect

  • maven仓库阿里云镜像配置

    我们每次新建一个maven项目的时候 xff0c 加上pom xml配置时 xff0c 如果你没有配置本地仓库 xff0c maven会去中央仓库去加载jar包 xff0c 那样速度真的是异常的慢啊 xff0c 并且每次update mav
  • Office 2010启动时出现无法验证此应用程序的许可证的解决

    Office 2010启动之后弹出一个窗口提示 xff1a Microsoft Office无法验证此应用程序的许可证 修复尝试失败或者已被用户取消 应用程序将立即关闭 遇到这样的情况 xff0c 原因是Office的系统服务被禁用的原因
  • 前端路由跳转基本原理

    目前前端三杰 Angular React Vue 都推介单页面应用 SPA 开发模式 xff0c 在路由切换时替换 DOM Tree 中最小修改的部分 DOM xff0c 来减少原先因为多页应用的页面跳转带来的巨量性能损耗 它们都有自己的典
  • proxyTable的配置

    在dev环境下面 xff1a proxyTable 39 api 39 target 39 http api douban com v2 39 主域名 xff0c 以前我都写192 168 2 57 80 xff0c 这里跨域了 chang
  • secureCRT 8 license

    secureCRT 8 license Name Company Serial Number License Key Issue Date Admin FENG 03 47 186992 ACF3C7 NZD1JC JHMRJ6 KWC53
  • 如何使用CSS3来获取屏幕宽度并且用来计算DIV高度

    稍微出示一下我之前的代码 var global width 61 window width var info height 61 global width 750 230 之前需要用js实现的计算相对高度 xff0c 现在要交给CSS来实现
  • haproxy 配置详解

    说明 xff1a 1 haproxy的配置段有 34 global 34 xff0c 34 defaults 34 34 listen 34 34 frontend 34 和 34 backend 34 等 global 配置中的参数为进程
  • 什么是灰度图

    为什么80 的码农都做不了架构师 xff1f gt gt gt 图像灰度值的概念是什么 xff1f 灰度也可以认为是亮度 xff0c 简单说就是色彩的深浅程度 实际上在我们的日常生活中 xff0c 通过三原色色彩深浅的组合 xff0c 可以
  • matlab figure 窗口最大化

    http blog 163 com yinhexiwen 64 126 blog static 6404826620122942057214 figure 窗口最大化 xff0c 坐标轴也随着窗口变大而相应变大 scrsz 61 get 0

随机推荐

  • 让Tomcat7识别War包的Class-Path(MANIFEST.MF)属性动态加载类路径

    原文 https my oschina net noahxiao blog 173499 目录 一 背景 二 分析 三 开发 四 总结 一 背景 几个Web项目需要打包到一个发布包中 xff0c 问题是War包都各自包含了自己的WEB IN
  • 【黑马程序员】————结构体

    Java培训 Android培训 iOS培训 Net培训 期待与您交流 xff01 一 什么是结构体 数组 xff1a 只能由多个相同类型的数据构成 结构体 xff1a 可以由多个不同类型的数据构成 二 结构体的定义 1 定义形式 结构体内
  • 《oracle大型数据库系统在AIX/unix上的实战详解》讨论28:两台机器间Oracle迁移的方法和过程...

    oracle大型数据库系统在AIX unix上的实战详解 讨论28 xff1a 两台机器间Oracle迁移的方法和过程 文平 大家新年好 xff01 新年期间没有更新日志 xff0c 也没有查收大家发来的邮件 今天回到工作岗位 xff0c
  • 《Programming in Lua 3》读书笔记(十六)

    日期 xff1a 2014 7 23 Part The Standard Libraries 20 The Table Library table库包含一些辅助函数用以类似与数组一样操作table 提供了从list内插入和删除元素的操作 x
  • 重磅系列文章|UI2Code智能生成Flutter代码--整体设计篇 ...

    闲鱼技术 上叶 背景 随着移动互联网时代的到来 xff0c 人类的科学技术突飞猛进 然而软件工程师们依旧需要花费大量精力在重复的还原UI视觉稿的工作 UI视觉研发拥有明显的特征 xff1a 组件 xff0c 位置和布局 xff0c 符合机器
  • linux debian系统卸载jdk,Debian/Ubuntu系统 JDK卸载、安装、环境配置

    环境 xff1a Linux内核版本4 17 Oracle jdk 11 0 2 JDK 8同样也是设置 Debian9系统 注意 xff1a 1 Open JDK和Oracle JDK的安装过程只是下载的连链接不一样 2 有的Linux系
  • MySQL 8.0 Windows zip 安装过程

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 准备 xff1a MySQL8 0 Windows zip包下载地址 xff1a https cdn mysql com Downloads MySQL 8 0 mysql
  • nohup后台执行脚本并输入日志到指定目录 &

    后台执行命令 xff0c 并输出目录到指定目录 root 64 localhost smgpSend Log nohup tar zcvf sendThread bak tar sendThread bak gt gt 1 txt amp
  • 在 Laravel 5 中集成七牛云存储实现云存储功能

    本扩展包基于https github com qiniu php sdk 开发 xff0c 是七牛云储存 Laravel 5 Storage版 xff0c 通过本扩展包可以在Laravel 5中集成七牛云存储功能 1 安装配置 使用之前 x
  • BSS段、数据段、代码段、堆与栈

    BSS段 xff1a BSS段 xff08 bss segment xff09 通常是指用来存放程序中未初始化的全局变量的一块内存区域 BSS是英文Block Started by Symbol的简称 BSS段属于静态内存分配 数据段 xf
  • Java字符串排序中文+数字

    编写日期 xff1a 2013年9月15日 另一中解法 xff1a 点击查看 解决思路 xff1a 在Java中 xff0c 排序需要复写的是 equals 方法 和 Comparable lt T gt 接口 的public int co
  • UIView 中常见的方法总结

    addSubview 添加一个子视图到接收者并让它在最上面显示出来 void addSubview UIView view 讨论 这方法同样设置了接收者为下一个视图响应对象 接收者保留视图 如果你使用removeFromSuperview方
  • docker方式部署gitlab

    docker方式部署gitlab 说明 操作系统 CentOS Linux release 7 9 2009 Core docker版本 20 10 17主机ip地址 172 16 100 107gitlab cn官网安装教程 https
  • iOS libc++abi.dylib: handler threw exception 错误的解决方案

    简单说下背景 xff1a 最近把工具和SDK都进行了升级Xcode4 5和iOS6 xff0c 无意之中测出了一个 必现的bug xff1a libc 43 43 abi dylib handler threw exception libc
  • 后羿射日般的精准 - 阿里云ECS调度是如何炼成的

    1 引子 弹性计算服务ECS xff08 Elastic Compute Service xff09 是阿里云营收的中流砥柱和流量担当 作为各行业客户新业务和技术创新的发动机和使能者 xff0c ECS不仅能在10分钟内交付出一个中等体量互
  • java每日小算法(12)

    程序12 题目 xff1a 企业发放的奖金根据利润提成 利润 I 低于或等于10万元时 xff0c 奖金可提10 xff1b 利润高于10万元 xff0c 低于20万元时 xff0c 低于10万元的部分按10 提成 xff0c 高于10万元
  • strong_alias && weak_alias && __attribute__

    为了查看linux下malloc的实现函数 xff0c 下载了Glibc的源码文件 xff0c 可是找不到实现的函数在哪里 看文件名 应该是在malloc malloc c里面 发现 libc malloc的实现比较像 怎么从malloc到
  • glog

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 安装配置 1 简介 google 出的一个C 43 43 轻量级日志库 xff0c 支持以下功能 xff1a 参数设置 xff0c 以命令行参数的方式设置标志参数来控制
  • mysql 引擎 校对_mysql字符集与校对集详解

    1 字符集 character 设置数据存储编码格式 1 utf8 2 utf8mb4 支持Emoji 表情 Emoji 是一种特殊的 Unicode 编码 xff0c 常见于 ios 和 android 手机上 2 校对集 collate
  • BSS段和数据段

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 内存分段 xff08 英语 xff1a Memory segmentation xff09 xff0c 一种电脑内存的管理技术 xff0c 它将电脑的主内存分成许多区段 x