第六章 运行时数据结构

2023-11-07

1。a.out:“assembler output(汇编程序输出)”的缩写形式。
2,段的概念:
(1)在UNIX中,段表示一个二进制相关的内容块。
命令:size test(可执行程序),返回文件中的三个段。

text data bss dec hex filename
1196 276 188 1660 67c test
(2)Inter x86架构:
地址空间被分成64K大小的区域,称之为段。

3,使自己确信:
(1)数据段保存在目标文件中。
(2)BSS段不保存在目标文件中(只是记录BSS段运行时所需要的大小)
(3)文本段是最容易受优化措施影响的段。

4,载入器只是取文件中欧冠你每个段的映像,并直接将它们放入内存中。

5,关于堆栈段:
运行时系统维护一个指针,通常称为sp,用于提示堆栈当前的顶部位置。
堆栈段的三个主要用途:
(1)堆栈为函数内部声明的局部变量提供存储空间。(auto变量)
(2)进行函数调用时,堆栈存储与此有关的一些维护性信息。
(3)堆栈也可以用作暂时存储区,如计算一个很长的算术表达式时,可以把部分结果压到堆栈中。
注:出了递归调用外,堆栈并非必需。
因为在编译时可以知道局部变量、参数和返回地址所需空间的固定大小,并可以将它们分配于BSS段。

6,static变量,保存在数据段中,而不是堆栈中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第六章 运行时数据结构 的相关文章

  • fork 和 exec 之间的区别

    两者有什么区别fork and exec 指某东西的用途fork and exec它体现了 UNIX 的精神 它提供了一种非常简单的方法来启动新进程 The fork调用基本上复制了当前进程 在almost任何方式 并非所有内容都会被复制
  • 带有存储在文件中的通配符的 grep

    我希望 grep 通过读取需要从文本文件中过滤掉的内容来过滤掉行 这是我给 grep 的内容 它存储在foo txt Users 1337 X Users 1337 R Users 1337 W 这是它应该过滤的内容 它存储在bar txt
  • 安装SIGTSTP前台进程

    我正在尝试为正在运行的前台进程安装 CTRL Z SIGTSTP 处理程序 我设置了处理程序 sigaction 就在我之前wait在父级中 这是正确的地方吗 好像不太好用 EDIT 我正在写一个外壳 这是我的代码的概要 我目前在父级中设置
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • 关闭 python 后让进程保持运行

    我希望在终止原始进程后继续运行进程 以下代码在终止原始进程后不会使其进程保持运行 args yes Popen args shell True stdout None stdin None stderror None 我已经尝试了我能想到的
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • 进程如何知道它已收到信号

    如果我错了 请纠正我 以下是我对信号的理解 据我所知 信号生成 和信号传递有2个不同 事物 为了产生信号 操作系统只是在位数组中设置一个位 在过程控制中维护 工艺块 PCB 每一位 对应于特定信号 当设置一个位时 这意味着 该位对应的信号为
  • 在 Bash 中拆分 csv 文件中的列

    我想从 csv 文件的第二列中提取值并将提取的值存储在新列中 我的数据集示例 page name post id page id A 86680728811 272953252761568 86680728811 A 86680728811
  • 如何使用 Perl 在 Unix 中获取文件创建时间

    如何使用 perl 在 unix 中获取文件创建时间 我有这个命令显示文件的最后修改时间 perl MPOSIX le print strftime d b Y H M localtime lstat 9 for ARGV file txt
  • import java 导入错误:没有名为 java 的模块

    我似乎遇到了障碍 根本无法解决这个问题 任何人都可以帮我弄清楚为什么我无法导入 java 模块吗 Error Traceback most recent call last File datasource config py line 3
  • 如何将文本数据从 ruby​​ 控制台传递到剪贴板而不保存到文件?

    我试图将我创建的全局变量中包含的数组传递到我的 mac 上的剪贴板中 它很长 所以我不想在控制台上突出显示 复制和粘贴 我想使用嵌入式unix代码 特别是pbcopyMac 笔记本电脑控制台的功能 允许我将文本传递到我的计算机剪贴板中 准备
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • 使用 unix ksh shell 脚本或 perl 脚本监视文件夹中的新文件并触发 perl 脚本

    我已经在谷歌搜索和溢出了一段时间 但找不到任何可用的东西 我需要一个脚本来监视公共文件夹并在创建新文件时触发 然后将文件移动到私有位置 我有一个 samba 共享文件夹 exam ple 在 UNIX 上映射到X 在窗户上 在某些操作中 t
  • 为什么 ls -l 中的“总计”加起来不等于列出的总文件大小? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 为什么是total在输出中ls l打印为64并不是26078列出的所有文件的总数是多少 ls l test ls total 64 rw
  • 在Unix下,判断执行该程序的用户是否是root?

    我正在编写一个 rake 脚本 并希望检测 如果可能的话 使用 Ruby 而不是 bash 执行 rake 脚本的用户是否具有 root 权限 如果它不是 root 那么我想终止脚本 Use uid http www ruby doc or
  • 如何使用 netcat 发送文件并保持连接?

    我发出命令 netcat serveraddress myport lt MY FILE 问题是 一旦文件发送完毕 netcat 就会发送一条消息来关闭连接 发送该文件后 我需要从控制台写入消息 我记得对标准输入做了一些事情 是这样的吗 n
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 在进行 sem_timedwait 时,我将如何应对系统时间的变化?

    假设我有一个使用的程序sem timedwait为了等待 100 毫秒 获取当前时间 添加 100 毫秒 将结果用作abs timeout 参见手册页 http man7 org linux man pages man3 sem wait
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记

随机推荐

  • switch 语句 -- 超详解

    目录 语法结构 在switch 语句中的break default 子句 编程好习惯 语法结构 switch 整型表达式 语句项 那么语句项是什么呢 是一些case语句 如下 case 整形常量表达式 语句 在switch 语句中的brea
  • 论文研读 —— 9. DensePose From WiFi

    文章目录 Authors Bibtex 0 ABSTRACT 1 INTRODUCTION 2 RELATED WORK 3 METHODS 3 1 Phase Sanitization 3 2 Modality Translation N
  • linux编译新内核放在哪,将新文件系统编译到Linux内核中

    我正在努力在Debian上构建一个新的文件系统作为原型 因为现有的文件系统不符合我的某些要求 它旨在成为评估我们所拥有的某些要求的原型 到目前为止的步骤 我正在尝试使用provided MakeFile进行项目 但这是我得到的错误 make
  • 夜深人静学32系列5——STM32MAP文件浅析&启动过程

    STM32MAP文件浅析 启动过程 MAP文件浅析 1 MDK中间文件 2 MAP文件浅析 实际的MAP文件 你找不到你的MAP文件 STM32启动过程 启动过程 启动文件介绍 上期我们学习了STM32的寄存器映射相关内容 本期我们一起来学
  • xenserver使用cli进行主机池添加

    使用 CLI 将 XenServer 主机 host1 和 host2 加入到资源池 1 在 XenServer 主机 host2 中打开控制台 2 运行以下命令 指示 XenServer 主机 host2 加入位于 XenServer 主
  • win10如何校验文件哈希值

    转自 https jingyan baidu com article 67662997a9b06654d51b84a1 html 文件的哈希值可以用软件计算 算法一样 无须多讲 本文讲述如何用win10自带命令计算 右击开始 点击windo
  • vue3实现没有误差的时间 moment

    使用requestAnimationFrame 方法实现 window requestAnimationFrame 告诉浏览器 你希望执行一个动画 并且要求浏览器在下次重绘之前调用指定的回调函数更新动画 该方法需要传入一个回调函数作为参数
  • 嵌入式Qt-简易网络监控摄像头

    本编利用Qt实现一个网络摄像头功能 包含一个服务端和一个客户端 服务端用于将USB摄像头转换为一个IP摄像头 当有客户端连接时 将其捕获到的图像通过TCP发送出去 客户端运行在Linux板子上 用于查看摄像头的实时画面 1 必备基础知识 本
  • 使用lxml.etree解析中文网页时出现乱码问题的解决办法

    你也可以通过我的独立博客 www huliujia com 获取本篇文章 吐槽 不得不说网络这个东西害死人 一群只会复制粘贴的瓜皮儿 没一点有用的答案 还要写的像模像样装x 这个问题折腾了一个晚上 晚上找了各种方案 都是相互抄 然而都不能解
  • Mayor's posters

    点击打开链接 Description The citizens of Bytetown AB could not stand that the candidates in the mayoral election campaign have
  • Hive-SQL取一个月用户留存率、留存用户数

    一 最基础版 次日留存率 代码如下 select date count count B user id as rate from select user id date from app launch where date 2022 08
  • 大数据论文_03_BigTable(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 BigTable 一 出现的原因 没有BigTable时 如MySQ
  • C/C++ 使用librdkafka库实现的生产者

    Installing prebuilt packages On Mac OSX brew install librdkafka On Debian and Ubuntu apt install librdkafka dev On RedHa
  • Ubuntu18.04下的宝塔+Flarum网站迁移

    Ubuntu18 04下的宝塔 Flarum网站迁移 前言 迁移环境 一 备份文件 二 重新部署Flarum 三 恢复数据 四 重装插件 四 完成 前言 最近学校在组织搭建校内树洞 为了方便调试同时不影响论坛的正常运营 我打算将整个网站迁移
  • 全球及中国3D打印产业投资价值调研及未来竞争趋势研究报告2021-2027年版

    全球及中国3D打印产业投资价值调研及未来竞争趋势研究报告2021 2027年版 HS HS HS HS HS HS HS HS HS HS HS HS HS HS HS 修订日期 2021年10月 搜索鸿晟信合研究院查看官网更多内容 第一章
  • 贪心算法初步

    一 什么是贪心算法 贪心算法的定义 贪心算法是指在对问题求解时 总是做出在当前看来是最好的选择 也就是说 不从整体最优上加以考虑 只做出在某种意义上的局部最优解 贪心算法不是对所有问题都能得到整体最优解 关键在于贪心策略的选择 选择的贪心策
  • 安装与卸载JDK8

    前言 学习Java的第一步需要先配置好JDK环境 而JDK8是目前使用最广泛的JDK版本 本文讲解了如何下载安装和卸载JDK8 以下环境为Windows10 下载JDK安装包 Oracle官网 所有JDK版本 Oracle官网 JDK8 O
  • 关键字解释

    条件变量 线程中的条件变量是等待共享数据内的某个条件出现 不是等待的互斥锁 条件变量特别适用于多个线程等待某个条件的发生 auto与std function 在实际使用中都用 auto 关键字来代替std function 这一长串了 st
  • 介绍一个免费的虚拟显示器的解决方案

    这几天鼓捣我的弛为小主机 装了个win10 2021 lstc作小服务器用 远程软件todesk和向日葵 登录后 发现分辨率极低 todesk提示让我购买虚拟显示器 像我这种技术 铁公鸡 怎么能花钱呢 搜了半天开源虚拟显示器 极少 要么收费
  • 第六章 运行时数据结构

    1 a out assembler output 汇编程序输出 的缩写形式 2 段的概念 1 在UNIX中 段表示一个二进制相关的内容块 命令 size test 可执行程序 返回文件中的三个段 text data bss dec hex