目标文件格式
目标文件是编译器或汇编器处理源代码后生成的二进制文件,主要有三种格式。
ELF(Executable and Linkable Format):Unix和Linux系统的标准目标文件格式,也是CSAPP讲解的重点。ELF格式统一支持三种类型的目标文件。
COFF(Common Object File Format):早期Unix系统使用的目标文件格式,结构相对简单,但扩展性有限。
PE(Portable Executable):Windows系统的目标文件格式,源自COFF,在Windows平台上使用。
目标文件分为三类:
- 可重定位目标文件(.o):包含可重定位的机器代码和数据,可与其他
.o文件合并生成可执行文件。 - 可执行目标文件:经过链接后的最终产物,可直接加载到内存执行,地址已完全确定。
- 共享目标文件(.so / .dll):在加载时或运行时可以被动态链接到内存中的特殊目标文件。
链接到
- 上一个知识点:7.2 链接器的作用
- 下一个知识点:7.4 ELF文件结构