Формат файла Mach-O (Mach Object) используется в macOS, iOS, watchOS и tvOS для исполняемых файлов, объектного кода, общих библиотек, динамически загружаемого кода и дампов памяти (core dumps). Он является заменой для более старого формата «a.out», производного от NeXT/SunOS. Mach-O — это гибкий и расширяемый формат, который поддерживает несколько архитектур и типов объектов в одном файле. Это позволяет создавать так называемые «fat binaries» (универсальные бинарные файлы), которые могут работать на различных процессорных архитектурах без модификации. Формат структурирован и состоит из заголовка (header), команд загрузки (load commands) и секций данных (data sections). Заголовок содержит информацию о типе файла, архитектуре и количестве команд загрузки. Команды загрузки определяют, как операционная система должна загружать и компоновать файл, включая информацию о сегментах, секциях, символах и динамических библиотеках. Секции данных содержат фактический код и данные программы. Файлы Mach-O критически важны для выполнения приложений и системного программного обеспечения на платформах Apple.