Mach-O (Mach Object) 文件格式是 macOS、iOS、watchOS 和 tvOS 操作系统所使用的核心文件格式,主要用于存储可执行文件、目标代码、共享库、动态加载代码以及核心转储(core dumps)。它是对早期源自 NeXT/SunOS 的“a.out”格式的替代。Mach-O 是一种高度灵活且可扩展的格式,支持在单个文件中包含多种架构和对象类型。这种特性使得“胖二进制文件”(fat binaries)成为可能,即同一文件无需修改即可在不同的处理器架构上运行。该格式的结构由文件头(header)、加载命令(load commands)和数据段(data sections)组成。文件头包含有关文件类型、目标架构和加载命令数量的信息;加载命令指定了操作系统应如何加载和链接该文件,包括有关段(segments)、节(sections)、符号(symbols)和动态库的详细信息;数据段则存储了程序的实际代码和数据。Mach-O 文件对于 Apple 平台上的应用程序和系统软件的执行至关重要,是理解 macOS 和 iOS 系统底层运行机制的关键。