5-13 连接脚本(1)

关于连接地址的内容。

还记得会有一条指令, -ttext=0x80000000 , 这里设置的是一个绝对的地址,在这个C文件中的 所有的 局部变量,以及全局变量都要以这个为基础,他们应该是一个相对的地址。

首先是 关于汇编文件的 内容

有这么多的header

然后是关于符号表

符号表里面是 各个函数的 地址。

也就是 符号表中的内容基本上都在 .text , .data, .rodata , .bss 段中了。

然后是关于各个段的解释:

.text 存放的就是 机器指令。

.rodata 存放的是 const , 以及字符串。

.data 存放的就是 全局变量以及 static .

.bss 存放的是 没有初始值的 全局变量以及static

然后还有一点是, 连接器 会将 所有的 C文件的 这个四个段 分别的合并在一起。这里我不是很理解。

相关推荐
H.莓飛5 分钟前
【数据结构】堆
linux·数据结构·算法
Ruiery12 分钟前
Linux 6.6内核 CPU 深度解析(四):中断与 IPI — 一个 CPU 怎么“喊“另一个 CPU
linux·运维·服务器
木卫二号Coding9 小时前
推荐Linux统计文件大小并操作删除工具-ncdu
linux·运维·服务器
zhangrelay10 小时前
机械臂末端规划智能模型的误区演示
linux·笔记·学习·ubuntu·ros2
Ivanqhz12 小时前
正余弦位置编码(Sinusoidal Positional Encoding)
java·linux·数据库
H.莓飛12 小时前
【数据结构】队列
linux·数据结构·centos
小此方13 小时前
Linux网络(十九):TCP流量控制与滑动窗口详解,超时重传和快重传到底有什么区别
linux·运维·服务器·网络·网络协议·tcp/ip
码上有光13 小时前
Linux进程通信——共享内存、消息队列和信号量
android·linux·运维·共享内存·通信
沫璃染墨13 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
Java后端的Ai之路13 小时前
Python进阶探索24_应用案例_linux系统的监控
linux·开发语言·python·应用·探索