目录
一:可重定位目标文件的特点
•可被链接(合并)生成可执行文件或共享目标文件
•静态链接库文件由若干个可重定位目标文件组成
•包含代码、数据(已初始化全局变量和局部静态变量.data和未初始化的全局变量和局部静态变量.bss)
•包含重定位信息(指出哪些符号引用处需要重定位)
•文件扩展名为.o(相当于Windows中的.obj文件)
我们都知道可重定位目标文件都是用来进行链接生成可执行目标文件的,那么下面我们来看下相应的链接试图,看看可重定位目标文件中都包含什么信息,下图是一个简单的举例,一起来看下吧。

通过上面的图片我们可以看出ELF文件主要包含了text,data,bss节,之前的文章对这些节的内容也做了简单的介绍,具体可以翻看之前的内容。要想进行连接,除了这几个节之前还需要其他的信息,比如符号表,重定位信息等等,这些后面会一一介绍。这里我们先介绍下为什么会有BSS节。
•C语言规定:
– 未初始化的全局变量和局部静态变量的默认初始值为0
• 将未初始化变量(.bss节)与已初始化变量(.data节)分开的好处
–

本文介绍了可重定位目标文件的特点与格式,包括ELF头、.text、.rodata、.data、.bss等关键节的作用及重定位信息的重要性。
最低0.47元/天 解锁文章
5427

被折叠的 条评论
为什么被折叠?



