O Executable and Linkable Format (ELF) é um formato de arquivo padrão comum para executáveis, código objeto (object code), bibliotecas compartilhadas (shared libraries) e despejos de memória (core dumps). É amplamente utilizado em muitos sistemas operacionais do tipo Unix (Unix-like), incluindo Linux, Solaris, FreeBSD e outros. Os arquivos ELF são projetados para serem flexíveis e extensíveis, permitindo que uma variedade de arquiteturas de hardware e sistemas operacionais utilizem o mesmo formato básico. A estrutura do formato consiste em um cabeçalho (header), cabeçalhos de programa (program headers), cabeçalhos de seção (section headers) e os próprios dados. O cabeçalho descreve a estrutura geral do arquivo, incluindo o ponto de entrada (entry point) para a execução. Os cabeçalhos de programa descrevem segmentos (segments), que são regiões contíguas do arquivo carregadas na memória durante a execução. Os cabeçalhos de seção, por sua vez, descrevem seções (sections) que são cruciais para a ligação (linking) e depuração (debugging). Os arquivos ELF podem ser ligados estaticamente (statically linked), incluindo todo o código necessário, ou ligados dinamicamente (dynamically linked), onde parte do código é carregada de bibliotecas compartilhadas em tempo de execução (runtime). Isso resulta em executáveis menores e facilita a atualização de bibliotecas compartilhadas.