Common Object File Format

Se introdujo en Unix System V, remplazando al formato a.out usado anteriormente, y constituyó la base para especificaciones extendidas como XCOFF y ECOFF, antes de ser reemplazado en gran medida por ELF, introducida por SVR4.Mientras que las versiones extendidas de COFF se siguen utilizando en algunas plataformas tipo Unix, principalmente en sistemas embebidos, quizás el uso más extendido del formato COFF hoy en día está en el formato Portable Executable (PE) de Microsoft.Desarrollado para Windows NT, el formato PE (a veces escrito como PE/COFF) usa una cabecera COFF para archivos objeto, y como un componente de la cabecera de PE para archivos ejecutables.[1]​ La mejora más importante que trajo COFF sobre a.out fue la introducción de múltiples secciones con nombre en el archivo objeto.El resto del archivo no será necesariamente cargado en bloques contiguos, pero sí en diferentes secciones.