ELF 定义了以下不同类别的目标文件:
- 可重定位文件包含一些代码和数据,它们适合与其他目标文件进行静态链接,以创建可执行文件或共享目标文件。
- 可执行文件包含适合执行的程序。它可能具有或没有动态链接信息。
- 共享目标文件是程序的组成部分,可在加载时与可执行文件和其他共享对象组合形成进程映像。共享对象始终包含动态链接信息。为避免与可重定位目标文件混淆,我们有时使用术语共享库 来指代共享对象。
- 可重定位模块。可重定位模块是一个共享目标文件,其中也包含静态链接信息:即静态符号表、段表和静态重定位条目。它适用于可以静态或动态链接的可固化库。
此规范使用可互换的术语静态链接单元 和加载模块 来指代可执行文件和共享库(包括可重定位模块)。