Krasorion.ru

Упаковочные материалы

Executable and Linkable Format

ELF (англ. Executable and Linkable Format — формат исполнимых и компонуемых файлов) — формат файлов, используемый во многих UNIX-подобных операционных системах, например, в GNU/Linux и Solaris, а также, после некоторой модификации ПО, — в некоторых мобильных телефонах компаний Siemens, Sony Ericsson, Motorola (платформа P2K) и во многих цифровых фотовидеокамерах (Olympus, Rekam и проч.).

Каждый файл формата ELF имеет специальный заголовок, в котором, в частности, указан адрес точки входа (стартовый адрес) программы.

Поля этого заголовка использует загрузчик (ELF interpreter) для загрузки программы в оперативную память перед исполнением.

Формат

Файлы ELF имеют два типа разбиений. Программный заголовок (program header) соответствует сегментам, которые будут использованы при исполнении. Заголовок секций (section header) перечисляет секции исполняемого файла

Каждый ELF файл состоит из одного заголовка ELF, за которым следуют данные. Файлы могут включать в себя

  • Таблицу Program Header, описывающую ноль или более сегментов
  • Таблицу Section Header, описывающую ноль или более секций
  • Данные, упомянутые в записях названных таблиц

Сегменты содержат данные, необходимые для исполнения файла, а секции содержат информацию для линковки и обработку relocation. Каждый байт в файле может относиться не более чем к одной секции.

См. также

Ссылки

  • Как запускается функция main() в Linux
  • Как сделать Linux программы меньше
  • Использование дополнительных .ELF сегментов в QNX
  • Формат .ELF


Executable and Linkable Format.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93