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 typiquement générés par les compilateurs et les assembleurs en tant que fichiers intermédiaires durant le 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 un chaînage (linking) 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. C'est un composant crucial dans la chaîne d'outils pour le développement logiciel, permettant une compilation et un chaînage efficaces de programmes volumineux et complexes. La structure du format facilite le débogage et permet le chaînage dynamique, où les bibliothèques sont chargées à l'exécution. 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.