可执行与可链接格式(Executable and Linkable Format,简称 ELF)是一种用于可执行文件、目标代码、共享库和核心转储(core dumps)的标准通用文件格式。它被广泛应用于许多类 Unix 操作系统,包括 Linux、Solaris、FreeBSD 等。ELF 文件的设计旨在保持灵活性和可扩展性,从而支持多种不同的处理器架构和操作系统使用同一种基本格式。该格式主要由文件头、程序头表、节头表以及实际数据组成。文件头描述了文件的整体结构,并指明了程序执行的入口点。程序头描述了段(segments),即在程序执行期间需要加载到内存中的连续区域。节头则描述了节(sections),这些信息主要用于程序的链接和调试过程。数据部分包含了程序实际的机器代码和运行数据。ELF 文件支持静态链接和动态链接两种模式:静态链接会将所有必需的代码直接包含在可执行文件中;而动态链接则允许在运行时从共享库中加载部分代码,这不仅减小了可执行文件的体积,还使得共享库的升级和维护变得更加容易。