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