5-13 连接脚本(1)

关于连接地址的内容。

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

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

有这么多的header

然后是关于符号表

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

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

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

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

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

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

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

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

相关推荐
九皇叔叔7 小时前
Ubuntu 22.04 版本常用设置
linux·运维·ubuntu
南境十里·墨染春水7 小时前
linux学习进展 线程同步——互斥锁
java·linux·学习
杨云龙UP8 小时前
ODA登录ODA Web管理界面时提示Password Expired的处理方法_20260423
linux·运维·服务器·数据库·oracle
songx_999 小时前
Linux基础2
linux·运维·服务器
我想要SSR9 小时前
搭建小龙虾过程和坑点
linux·服务器·ai
莫白媛10 小时前
Linux在限制敏感命令下的修改用户密码小白版
linux·运维·服务器
Rcnhtin11 小时前
RocketMQ
java·linux·rocketmq
AC赳赳老秦12 小时前
OpenClaw多平台部署:Windows+Linux跨系统协同,实现全场景覆盖
linux·服务器·前端·网络·windows·deepseek·openclaw
念恒1230612 小时前
进程--程序地址空间下篇(进程地址空间)
linux·c语言
___波子 Pro Max.12 小时前
Linux 外挂 SSD 根目录下的 `.Trash-1000` 到底是什么
linux