Das Mach-O (Mach Object) Dateiformat ist ein Dateiformat, das von macOS, iOS, watchOS und tvOS für ausführbare Dateien, Objektcode, gemeinsam genutzte Bibliotheken, dynamisch geladenen Code und Core Dumps verwendet wird. Es ist ein Ersatz für das ältere, von NeXT/SunOS abgeleitete „a.out“-Format. Mach-O ist ein flexibles und erweiterbares Format, das mehrere Architekturen und Objekttypen innerhalb einer einzigen Datei unterstützt. Dies ermöglicht sogenannte „Fat Binaries“, die ohne Modifikation auf verschiedenen Prozessorarchitekturen laufen können. Das Format ist in einen Header, Load Commands (Ladebefehle) und Datenabschnitte (Data Sections) strukturiert. Der Header enthält Informationen über den Dateityp, die Architektur und die Anzahl der Ladebefehle. Die Ladebefehle geben an, wie das Betriebssystem die Datei laden und verknüpfen soll, einschließlich Informationen über Segmente, Sektionen, Symbole und dynamische Bibliotheken. Die Datenabschnitte enthalten den eigentlichen Code und die Daten des Programms. Mach-O-Dateien sind für die Ausführung von Anwendungen und Systemsoftware auf Apple-Plattformen unerlässlich.