O Common Object File Format (COFF) é um formato de arquivo utilizado para código de objeto, executáveis e bibliotecas compartilhadas em diversos sistemas operacionais, particularmente em sistemas do tipo Unix e Windows. Ele atua como um contêiner para código de máquina, informações de depuração, dados de realocação e tabelas de símbolos. Arquivos COFF são tipicamente gerados por compiladores e montadores como arquivos intermediários durante o processo de compilação de software. Esses arquivos de objeto são então vinculados por um linker para criar um executável ou biblioteca final. O formato permite a compilação e vinculaçã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 para o desenvolvimento de software, permitindo a compilação e vinculação eficiente de programas grandes e complexos. A estrutura do formato facilita a depuração e permite a vinculação dinâmica, onde bibliotecas são carregadas em tempo de execução. O COFF evoluiu ao longo do tempo, com variações e extensões implementadas por diferentes sistemas operacionais e compiladores.