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