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 nei sistemi di tipo Unix e Windows. Funge da contenitore per codice macchina, informazioni di debug, dati di rilocazione e tabelle dei simboli. I file COFF vengono solitamente generati da compilatori e assemblatori come file intermedi durante il processo di compilazione del software. Questi file oggetto vengono poi collegati tra loro da un linker per creare un eseguibile o una libreria finale. Il formato consente una compilazione e un collegamento modulari, in cui diverse parti di un programma possono essere compilate separatamente e successivamente combinate. COFF supporta varie architetture e tipi di dati, rendendolo un formato versatile per diverse piattaforme. È un componente cruciale nella toolchain per lo sviluppo software, consentendo una compilazione e un collegamento efficienti di programmi grandi e complessi. La struttura del formato facilita il debug e consente il collegamento dinamico, in cui le librerie vengono caricate in fase di esecuzione. COFF si è evoluto nel tempo, con variazioni ed estensioni implementate da diversi sistemi operativi e compilatori.