可执行与可链接格式(ELF)是一种通用的标准文件格式,用于可执行文件、目标代码、共享库和核心转储(core dumps)。它被广泛应用于许多类 Unix 操作系统,包括 Linux、Solaris、FreeBSD 等。ELF 文件被设计为灵活且可扩展,允许各种不同的处理器架构和操作系统使用相同的基础格式。该格式主要由文件头(header)、程序头(program headers)、节头(section headers)以及程序数据本身组成。文件头描述了文件的整体结构,包括执行的入口点。程序头描述了段(segments),这些段是文件中连续的区域,在程序执行期间会被加载到内存中。节头描述了节(sections),这些节主要用于链接(linking)和调试(debugging)。数据本身则包含了程序的实际代码和数据。ELF 文件可以是静态链接的,这意味着所有必需的代码都已包含在可执行文件中;也可以是动态链接的,这意味着部分代码在运行时(runtime)从共享库中加载。动态链接有助于生成更小的可执行文件,并使共享库的更新更加便捷。