Mach-O(Mach Object)文件格式是 macOS、iOS、watchOS 和 tvOS 用于可执行文件、目标代码、共享库、动态加载代码和核心转储所采用的文件格式。它是较旧的、源自 NeXT/SunOS 的 "a.out" 格式的替代品。Mach-O 是一种灵活且可扩展的格式,它允许单个文件中支持多种架构和对象类型。这使得它能够实现“胖二进制文件”(fat binaries),这些文件无需修改即可在不同的处理器架构上运行。该格式结构包括一个头(header)、加载命令(load commands)和数据段(data sections)。头文件包含有关文件类型、架构和加载命令数量的信息。加载命令指定了操作系统应如何加载和链接文件,包括有关段(segments)、节(sections)、符号(symbols)和动态库(dynamic libraries)的信息。数据段包含程序的实际代码和数据。Mach-O 文件对于 Apple 平台上应用程序和系统软件的执行至关重要。