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)、符号和动态库的信息。数据段则包含程序的实际代码和数据。Mach-O 文件对于在 Apple 平台上执行应用程序和系统软件至关重要。