Исполняемый и компонуемый формат (Executable and Linkable Format, ELF) является общим стандартным форматом файлов, используемым для исполняемых файлов, объектного кода, разделяемых библиотек (shared libraries) и дампов памяти (core dumps). Он широко применяется во многих Unix-подобных операционных системах, включая Linux, Solaris, FreeBSD и другие. Файлы ELF разработаны как гибкие и расширяемые, что позволяет различным аппаратным архитектурам и операционным системам использовать один и тот же базовый формат. Структура формата состоит из заголовка (header), заголовков программ (program headers), заголовков секций (section headers) и самих данных. Заголовок описывает общую структуру файла, включая точку входа для исполнения (entry point). Заголовки программ описывают сегменты (segments) — смежные области файла, которые загружаются в память во время исполнения программы. Заголовки секций описывают секции (sections), которые используются в процессе компоновки (linking) и отладки (debugging). Сами данные содержат фактический машинный код и данные программы. Файлы ELF могут быть статически скомпонованы (statically linked), когда весь необходимый код включен в исполняемый файл, или динамически скомпонованы (dynamically linked), когда часть кода загружается из разделяемых библиотек во время выполнения (runtime). Динамическая компоновка обеспечивает меньший размер исполняемых файлов и упрощает обновление общих библиотек.