5-13 连接脚本(1)

关于连接地址的内容。

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

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

有这么多的header

然后是关于符号表

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

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

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

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

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

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

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

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

相关推荐
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
丰锋ff3 小时前
压缩命令笔记
linux
GeW5 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
by209995 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
cq林志炫6 小时前
两个Linux服务器之间同步文件
linux·运维·服务器
无人生还别怕7 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
企鹅侠客8 小时前
Linux CPU 负载平均值(Load Average)详解:从原理到实践
linux·运维·服务器·服务器负载
易点云徐源8 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
第404号工位8 小时前
离职退电脑前别只点“清空回收站”!手把手教你彻底抹除凭证与数字痕迹
linux·python·架构
就像楞次定律8 小时前
【Linux 学习记之二】C++ 构建体系与底层链接机制的深度透视(1)
linux·后端