Le Common Object File Format (COFF), ou Format de Fichier Objet Commun, est un format de fichier essentiel utilisé pour le code objet, les exécutables et les bibliothèques partagées dans divers systèmes d'exploitation, notamment les systèmes de type Unix et Windows. Il sert de conteneur structuré pour le code machine, les informations de débogage (debugging information), les données de relocalisation (relocation data) et les tables de symboles (symbol tables). Les fichiers COFF sont généralement générés par les compilateurs et les assembleurs en tant que fichiers intermédiaires (intermediate files) durant le processus de construction logicielle (software build process). Ces fichiers objet sont ensuite liés ensemble par un éditeur de liens (linker) pour créer un exécutable final ou une bibliothèque. Le format COFF permet une compilation et une liaison modulaires, où différentes parties d'un programme peuvent être compilées séparément puis combinées efficacement. Il prend en charge diverses architectures et types de données, ce qui en fait un format polyvalent pour différentes plateformes. C'est un composant crucial de la chaîne d'outils (toolchain) pour le développement logiciel, permettant une compilation et une liaison efficaces de programmes vastes et complexes. La structure du format facilite le débogage et permet la liaison dynamique (dynamic linking), où les bibliothèques sont chargées au moment de l'exécution (runtime). Le COFF a évolué au fil du temps, avec des variations et des extensions implémentées par différents systèmes d'exploitation et compilateurs.