Das Common Object File Format (COFF) ist ein Dateiformat, das für Objektcode, ausführbare Dateien und gemeinsam genutzte Bibliotheken in verschiedenen Betriebssystemen, insbesondere Unix-ähnlichen Systemen und Windows, verwendet wird. Es dient als Container für Maschinencode, Debugging-Informationen, Relokationsdaten und Symboltabellen. COFF-Dateien werden typischerweise von Compilern und Assemblern als Zwischendateien während des Software-Build-Prozesses generiert. Diese Objektdateien werden dann von einem Linker zusammengeführt, um eine endgültige ausführbare Datei oder Bibliothek zu erstellen. Das Format ermöglicht die modulare Kompilierung und das Linking, wobei verschiedene Teile eines Programms separat kompiliert und anschließend 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, da es die effiziente Kompilierung und das Linking großer und komplexer Programme ermöglicht. Die Struktur des Formats erleichtert das Debugging und erlaubt das dynamische Linking, bei dem Bibliotheken zur Laufzeit geladen werden. COFF hat sich im Laufe der Zeit weiterentwickelt, wobei verschiedene Betriebssysteme und Compiler Variationen und Erweiterungen implementiert haben.