Das Common Object File Format (COFF) ist ein Dateiformat, das für Objektcode, ausführbare Dateien und gemeinsam genutzte Bibliotheken in verschiedenen Betriebssystemen verwendet wird, insbesondere in Unix-artigen Systemen und Windows. Es dient als Container für Maschinencode, Debugging-Informationen, Relozierungsdaten und Symboltabellen. COFF-Dateien werden typischerweise von Compilern und Assemblern als Zwischendateien während des Software-Build-Prozesses generiert. Diese Objektdateien werden anschließend von einem Linker zusammengefügt, um eine finale ausführbare Datei oder Bibliothek zu erstellen. Das Format ermöglicht eine modulare Kompilierung und Verknüpfung, bei der verschiedene Teile eines Programms separat kompiliert und dann kombiniert werden können. COFF unterstützt verschiedene Architekturen und Datentypen, was es zu einem vielseitigen Format für unterschiedliche Plattformen macht. Es ist eine entscheidende Komponente in der Toolchain für die Softwareentwicklung und ermöglicht die effiziente Kompilierung und Verknüpfung großer und komplexer Programme. Die Struktur des Formats erleichtert das Debugging und ermöglicht dynamisches Linken, bei dem Bibliotheken zur Laufzeit geladen werden. COFF hat sich im Laufe der Zeit weiterentwickelt, wobei Variationen und Erweiterungen von verschiedenen Betriebssystemen und Compilern implementiert wurden.