O Common Object File Format (COFF), ou Formato Comum de Arquivo Objeto, é um formato de arquivo fundamental usado para código objeto (object code), executáveis e bibliotecas compartilhadas em diversos sistemas operacionais, notavelmente sistemas tipo Unix e Windows. Ele atua como um contêiner estruturado, encapsulando código de máquina, informações essenciais de depuração (debugging information), dados de realocação (relocation data) e tabelas de símbolos (symbol tables). 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 formar o executável final ou a biblioteca. O formato COFF é crucial por permitir a compilação e ligação modulares, possibilitando que partes distintas de um programa sejam compiladas de forma independente e depois combinadas. Ele suporta uma variedade de arquiteturas e tipos de dados, conferindo-lhe grande versatilidade entre diferentes plataformas. O COFF é um componente vital na cadeia de ferramentas (toolchain) de desenvolvimento de software, facilitando a compilação e ligação eficientes de programas complexos. Sua estrutura também facilita a depuração e suporta a ligação dinâmica (dynamic linking), onde as bibliotecas são carregadas em tempo de execução (runtime). O formato evoluiu ao longo do tempo, com variações e extensões implementadas por diferentes sistemas operacionais e fornecedores de compiladores.