O formato de arquivo Mach-O (Mach Object) é um formato de arquivo utilizado pelos sistemas operacionais macOS, iOS, watchOS e tvOS para armazenar executáveis, código objeto, bibliotecas compartilhadas, código carregado dinamicamente e despejos de memória (core dumps). Ele serve como substituto para o formato mais antigo "a.out", que era derivado de NeXT/SunOS. O Mach-O é reconhecido por ser um formato flexível e altamente extensível, notavelmente capaz de suportar múltiplas arquiteturas e diversos tipos de objeto dentro de um único arquivo. Esta característica permite a criação dos chamados "binários gordos" (fat binaries), que podem ser executados em diferentes arquiteturas de processador sem a necessidade de modificação. A estrutura do formato Mach-O é composta por três partes principais: um cabeçalho (header), comandos de carregamento (load commands) e seções de dados. O cabeçalho contém metadados cruciais sobre o arquivo, como o tipo de arquivo, a arquitetura alvo e a contagem de comandos de carregamento. Os comandos de carregamento são instruções que especificam como o sistema operacional deve carregar e ligar (linkar) o arquivo, incluindo detalhes sobre segmentos, seções, símbolos e bibliotecas dinâmicas. As seções de dados contêm o código e os dados reais do programa. Arquivos Mach-O são fundamentais para a execução de aplicações e software de sistema nas plataformas Apple.