ELF(Executable and Linkable Format)可执行和可链接格式是一种对象文件格式,分为三种类型:
a.可重定位目标文件:包含了适合用来链接其他目标文件的代码和数据,从而创建出可执行或可共享的目标文件
b.可执行目标文件:包含用于执行的程序,该文件规定了exec如何创建一个程序的进程映像
c.共享目标文件:包含用来在两个上下文之间链接的代码和数据
注:可重定位目标文件和共享目标文件用于程序链接,可执行目标文件用于程序执行
a.可重定位目标文件:包含了适合用来链接其他目标文件的代码和数据,从而创建出可执行或可共享的目标文件
b.可执行目标文件:包含用于执行的程序,该文件规定了exec如何创建一个程序的进程映像
c.共享目标文件:包含用来在两个上下文之间链接的代码和数据
注:可重定位目标文件和共享目标文件用于程序链接,可执行目标文件用于程序执行
因为对于目标文件两种用途,因此目标文件的组织结构有两种:一种是用于链接的链接格式,另一种是用于执行的执行格式.
在详解这两种格式之前,先列出ELF文件中常用的数据类型(格式)
这两种格式中,ELF头部都位于文件的开始部分,位置固定,描述了该文件的组织情况,下面是它的具体内容
elf32_hdr(一个52个字节):<