Le Common Object File Format (COFF) est un format de fichier 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 pour le code machine, les informations de débogage, les données de relocalisation et les tables de symboles. Les fichiers COFF sont généralement générés par des compilateurs et des assembleurs en tant que fichiers intermédiaires lors du processus de construction logicielle. Ces fichiers objets sont ensuite liés ensemble par un éditeur de liens (linker) pour créer un exécutable ou une bibliothèque finale. Le format permet une compilation et une liaison modulaires, où différentes parties d'un programme peuvent être compilées séparément puis combinées. COFF prend en charge diverses architectures et types de données, ce qui en fait un format polyvalent pour différentes plateformes. Il s'agit d'un composant crucial de la chaîne d'outils (toolchain) pour le développement logiciel, permettant une compilation et une liaison efficaces de programmes volumineux et complexes. La structure du format facilite le débogage et permet la liaison dynamique, où les bibliothèques sont chargées lors de l'exécution. COFF a évolué au fil du temps, avec des variantes et des extensions implémentées par différents systèmes d'exploitation et compilateurs.