Il Common Object File Format (COFF) è un formato di file utilizzato per il codice oggetto, gli eseguibili e le librerie condivise in vari sistemi operativi, in particolare quelli di tipo Unix e Windows. Serve come contenitore per il codice macchina, le informazioni di debugging, i dati di rilocazione e le tabelle dei simboli. I file COFF sono tipicamente generati da compilatori e assembler come file intermedi durante il processo di costruzione (build) del software. Questi file oggetto vengono poi collegati insieme da un linker (collegatore) per creare l'eseguibile o la libreria finale. Il formato consente la compilazione e il collegamento modulari, dove diverse parti di un programma possono essere compilate separatamente e poi combinate. COFF supporta diverse architetture e tipi di dati, rendendolo un formato versatile per piattaforme differenti. È un componente cruciale nella toolchain (catena di strumenti) per lo sviluppo software, permettendo la compilazione e il collegamento efficienti di programmi grandi e complessi. La struttura del formato facilita il debugging e consente il collegamento dinamico, dove le librerie vengono caricate a runtime (in fase di esecuzione). COFF si è evoluto nel tempo, con variazioni ed estensioni implementate da diversi sistemi operativi e compilatori.