O Common Object File Format (COFF) é um formato de arquivo utilizado para código objeto, executáveis e bibliotecas compartilhadas em diversos sistemas operacionais, notavelmente sistemas tipo Unix e Windows. Ele atua como um contêiner para código de máquina, informações de depuração, dados de relocação (realocação) e tabelas de símbolos. Arquivos COFF são tipicamente gerados por compiladores e montadores (assemblers) como arquivos intermediários durante o processo de construção (build) do software. Esses arquivos objeto são subsequentemente ligados por um ligador (linker) para criar o executável final ou a biblioteca. O formato permite a compilação e ligação modular, onde diferentes partes de um programa podem ser compiladas separadamente e depois combinadas. O COFF suporta várias arquiteturas e tipos de dados, tornando-o um formato versátil para diferentes plataformas. É um componente crucial na cadeia de ferramentas (toolchain) para o desenvolvimento de software, possibilitando a compilação e ligação eficientes de programas grandes e complexos. A estrutura do formato facilita a depuração e permite a ligação dinâmica, onde as bibliotecas são carregadas em tempo de execução (runtime). O COFF evoluiu ao longo do tempo, com variações e extensões implementadas por diferentes sistemas operacionais e compiladores.