可执行文件的组成

可执行文件的组成在ADS下,可执行文件有两种,一种是.axf文件,带有调试信息,可供AXD调试工具使用.另一种是.bin文件,可执行的二进制代码文件。我们重点是讲描.bin文件的组成。我们把可执行文件

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

在 ADS 下,可执行文件有两种,一种是.axf 文件,带有调试信息,可供 AXD 调试工具使用.另一种是.bin

文件,可执行的二进制代码文件。我们重点是讲描.bin 文件的组成。 我们把可执行文件分为两种情况:分别为存放态和运行态。

1. 存放态

存放态是指可执行文件通过 fromelf 产生后,在存储介质(flash 或磁盘)上的分布. 此时可执行文件一 般由两部分组成:分别是代码段和数据段。代码段又分为可执行代码段(.text)和只读数据段(.rodata), 数据段又分为初始化数据段(.data)和未初始化数据段(.bss)。可执行文件的存放态如下:

+————-+———–

|   .bss      |

+————-+– 数据段

|   .data     |

+————-+———–

|   .rodata   |

|             | 代码段

|   .text     |

+————-+———–

 

2. 运行态

可执行文件通过装载过程, 搬入到 RAM 中运行, 这时候可执行文件就变成运行态。在 ADS 下对可执行代 码各段有另一个名称:

|    …      |

+————-+———–

|   .bss      | ZI 段

+————-+– 数据段

 

|   .data     | RW 段

+————-+———–

|   .rodata   |

|             | 代码段(RO 段)

|   .text     |

+————-+———–

|    …      |

装载前

 

当可执行文件装载后, 在 RAM 中的分布如下:

 

|    …      |

+————-+– ZI 段结束地址

|    ZI 段     |

+————-+– ZI 段起始地址

|    保留区 2   |

+————-+– RW 段结束地址

|    RW 段     |

+————-+– RW 段起始地址

|   保留区 1    |

+————-+– RO 段结束地址

|    RO 段     |

+————-+– RO 段起始地址

|    …      |

装载后

 

所以装载过程必须完成把执行文件的各个段从存储介质上搬到 RAM 指定的位置。而这个装载过程由谁来完 成呢?由我们的启动程序来完成.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167419.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月2日 下午5:00
下一篇 2022年8月2日 下午5:00


相关推荐

  • 【京东商城首页实战2】导航条制作(1)[通俗易懂]

    【京东商城首页实战2】导航条制作(1)[通俗易懂]接下来,开始制作京东的导航条。效果如下图:图1业务分析:1.通栏盒子,并且有背景颜色2.有版心。3.版心里面包含左右浮动的两个盒子。4.有下拉效果的盒子后面,有三角形标志。5.右边的盒子里面包含几个li标签。分析完之后,对整个头部的构架和要实现的功能都有简单的了解,下面就是开始一步一步实现这些业务。1.制作一个通栏的盒子,并设置背景颜色。html代码:<

    2022年7月22日
    12
  • C++联合体

    C++联合体C 中的联合体是多个变量共享一段内存 相互覆盖 联合体的内存占用是所有成员中内存最大的那个所占用的大小 1 大小足够容纳最宽的成员 2 大小能被其包含的所有基本数据类型的大小所整除 看下面这段示例代码 include iostream usingnamespa unionU1 intn chars 12 doubled iostream

    2026年3月17日
    2
  • 布隆过滤器-原理介绍[通俗易懂]

    布隆过滤器-原理介绍[通俗易懂]一、布隆过滤器概念引入     (BloomFilter)是由布隆(BurtonHowardBloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假正例Falsepositives,即BloomFilter报告某一元素存在

    2026年4月15日
    7
  • mysql手机号段地区库_最新全国手机号段归属地数据库下载(mysql+xlsx+txt格式)46万条…「建议收藏」

    mysql手机号段地区库_最新全国手机号段归属地数据库下载(mysql+xlsx+txt格式)46万条…「建议收藏」在做网站程序时,经常用到校验用户输入的手机号归属地或所属移动,电信,联通等服务商,本手机号码段归属地数据库包括支持可查省份城市运营商邮编区号。而且提供.mysql,excel,txt三种数据格式数据库,2020年11月份最新的包括46万条记录集,可方便为实现手机号码段归属地查询提供强大后台数据库支持。三大运营商最新号段移动号段:134135136137138139147148…

    2022年7月22日
    18
  • 小黄鸟(HTTPCanary)安装及Android高版本CA证书配置

    小黄鸟(HTTPCanary)安装及Android高版本CA证书配置小黄鸟 HTTPCanary 安装及 Android 高版本 CA 证书配置 HTTPCanary 及 CA 证书安装 1 HTTPCanary 下载 2 导出 CA 证书 3 安装 CA 证书 1 HTTPCanary 下载从下面链接下载安装 HTTPCanary 链接 https xiao6ming6 lanzouq com iQcB902w15pg 密码 4wby2 导出 CA 证书 1 点击左上角三个杠 2 点击左下角设置 3 点击 SSL 证书设置 配置用于 SSL 请求的数字证书 4 点击导出 HttpCanary 证书

    2026年3月26日
    1
  • 小白装机进入pe后黑屏:3步快速修复指南

    小白装机进入pe后黑屏:3步快速修复指南

    2026年3月14日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号