El Formato Común de Archivos Objeto (COFF, por sus siglas en inglés) es un formato de archivo fundamental utilizado para código objeto, ejecutables y bibliotecas compartidas en diversos sistemas operativos, destacando su uso en sistemas tipo Unix y Windows. Su función principal es actuar como un contenedor estructurado para el código máquina generado, la información de depuración (debugging information), los datos de reubicación (relocation data) y las tablas de símbolos. Los archivos COFF son típicamente producidos por compiladores y ensambladores como archivos intermedios esenciales durante el proceso de construcción (build process) del software. Posteriormente, estos archivos objeto son enlazados por un enlazador (linker) para generar el ejecutable final o la biblioteca. El formato COFF facilita la compilación y el enlace modular, permitiendo que distintas secciones de un programa se compilen de manera independiente antes de ser combinadas. Además, COFF es compatible con una amplia gama de arquitecturas y tipos de datos, lo que le confiere una gran versatilidad entre plataformas. Es un componente crucial dentro de la cadena de herramientas (toolchain) de desarrollo de software, ya que permite la compilación y el enlace eficientes de programas extensos y complejos. La estructura del formato no solo optimiza la depuración, sino que también soporta el enlace dinámico, donde las bibliotecas se cargan en tiempo de ejecución (runtime). COFF ha experimentado una evolución constante, con variaciones y extensiones implementadas por diferentes sistemas operativos y fabricantes de compiladores.