Il Common Object File Format (COFF), o Formato Comune di File Oggetto, è 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 debug, i dati di rilocazione e le tabelle dei simboli. I file COFF sono tipicamente generati da compilatori e assemblatori come file intermedi durante il processo di build del software. Questi file oggetto vengono poi collegati insieme da un linker (collegatore) per creare un eseguibile finale o una libreria. Il formato consente la compilazione e il collegamento modulare, dove diverse parti di un programma possono essere compilate separatamente e poi combinate. COFF supporta varie architetture e tipi di dati, rendendolo un formato versatile per diverse piattaforme. È un componente cruciale nella toolchain (catena di strumenti) per lo sviluppo software, consentendo una compilazione e un collegamento efficienti di programmi grandi e complessi. La struttura del formato facilita il debugging e permette il collegamento dinamico, dove le librerie vengono caricate a runtime (a tempo di esecuzione). COFF si è evoluto nel tempo, con variazioni ed estensioni implementate da diversi sistemi operativi e compilatori.