大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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 指定的位置。而这个装载过程由谁来完 成呢?由我们的启动程序来完成.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167419.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...