Executable and Linkable Format (ELF) — это общепринятый стандартный формат файлов для исполняемых файлов, объектного кода, разделяемых библиотек и дампов памяти (core dumps). Он широко используется во многих Unix-подобных операционных системах, включая Linux, Solaris, FreeBSD и другие. Формат ELF спроектирован как гибкий и расширяемый, что позволяет использовать его в различных архитектурах и операционных системах. Структура файла состоит из заголовка, программных заголовков, заголовков секций и самих данных. Заголовок описывает общую структуру файла, включая точку входа для выполнения. Программные заголовки описывают сегменты — непрерывные области файла, которые загружаются в память во время выполнения. Заголовки секций описывают разделы, используемые для компоновки и отладки. Сами данные содержат исполняемый код и информацию программы. ELF-файлы могут быть статически скомпонованы, что означает включение всего необходимого кода в исполняемый файл, или динамически скомпонованы, когда часть кода загружается из разделяемых библиотек во время выполнения. Это позволяет создавать файлы меньшего размера и упрощает обновление разделяемых библиотек.