Библиотека дескрипторов двоичных файлов

редактировать
Библиотека дескрипторов двоичных файлов
Автор (ы)) Cygnus Solutions
Написано наC
Типе Библиотека
Лицензия Стандартная общественная лицензия GNU

Библиотека дескрипторов двоичных файлов (BFD ) является основным механизмом GNU Project для переносимого манипулирования объектными файлами в различных форматах. По состоянию на 2003 год он поддерживает около 50 форматов файлов для некоторых архитектур с 25 наборами команд.

Содержание
  • 1 История
  • 2 Дизайн
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
История

Когда в Cygnus Support предложили разработать библиотеку как способ открыть новые возможности для бизнеса для компании, Ричард Столлман сказал, что это будет трудно; Дэвид ответил, что это была не такая уж "чертова сделка". Сокращенно «BFD», это стало названием библиотеки. «Дескриптор двоичного файла» был изобретен позже как фоновый символ для «BFD».

Дизайн

BFD работает, представляя общий абстрактный вид объектных файлов. У объектного файла есть «заголовок» с описательной информацией; переменное количество «разделов», каждый из которых имеет имя, некоторые атрибуты и блок данных; таблица символов ; перемещение записей; и так далее.

Внутренне BFD преобразует данные из абстрактного представления в детали битовой / байтовой компоновки, требуемые целевым процессором и форматом файла. Его ключевые услуги включают обработку различий порядка байтов, например между little-endian host и big-endian target, правильное преобразование между 32-bit и 64-битные данные, а также детали арифметики адреса и, указанные в записях перемещения.

Хотя BFD изначально разрабатывался как универсальная библиотека, которую можно использовать с помощью самых разных инструментов, частая необходимость возиться с API, чтобы приспособить возможности новых систем, как правило, ограничивает его использование; Основными клиентами BFD являются GNU Assembler (GAS), GNU Linker (GLD) и другие инструменты GNU Binary Utilities ("binutils"), а также Отладчик GNU (GDB). В результате BFD не распространяется отдельно, а всегда включен в выпуски binutils и GDB. Тем не менее, BFD является важным компонентом в использовании инструментов GNU для разработки встроенных систем.

Библиотека BFD может использоваться для чтения структурированных данных из дампа памяти.

См. Также
Ссылки
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Внешние ссылки
Последняя правка сделана 2021-05-12 06:24:42
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте