Knihovna deskriptorů binárních souborů - Binary File Descriptor library
Téma tohoto článku nemusí splňovat požadavky Wikipedie pokyny k pozoruhodnosti produktů a služeb.Červenec 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Původní autoři | Řešení Cygnus |
---|---|
Napsáno | C |
Typ | Knihovna |
Licence | GNU General Public License |
The Knihovna deskriptorů binárních souborů (BFD) je Projekt GNU hlavní mechanismus pro přenosný manipulace s soubory objektů v různých formáty. Od roku 2003[Aktualizace], podporuje přibližně 50 formátů souborů pro přibližně 25 architektury instrukční sady.
Dějiny
Když David Henkel-Wallace z Podpora Cygnus navrhl rozvoj knihovny jako cestu k otevření nových obchodních příležitostí pro společnost, Richard Stallman řekl, že to bude obtížné; David odpověděl, že to nebyl takový „velký zasraný úděl“. Ve zkratce „BFD“ se toto stalo názvem knihovny.[1] "Binární souborový deskriptor" byl vynalezen později jako backronym pro „BFD“.
Design
BFD funguje tak, že představuje běžný abstraktní pohled na soubory objektů. Soubor objektu má „záhlaví“ s popisnými informacemi; variabilní počet „sekcí“, z nichž každá má název, některé atributy a blok dat; A tabulka symbolů; přemístění záznamy; a tak dále.
Interně BFD převádí data z abstraktního pohledu do podrobností rozložení bitů / bajtů požadovaných cílem procesor a formát souboru. Mezi jeho klíčové služby patří manipulace pořadí bytů rozdíly, například mezi a malý Endian hostitel a big-endian cíl, správný převod mezi 32-bit a 64-bit údaje a podrobnosti o adresa aritmetika zadaná položkami přemístění.
Ačkoli BFD byl původně navržen jako obecná knihovna použitelná pro širokou škálu nástrojů, častá potřeba pohrávat si s API pro přizpůsobení schopností nových systémů má tendenci omezovat jeho použití;[2][3][4] Hlavními klienty BFD jsou GNU Assembler (PLYN), GNU Linker (GLD) a další GNU Binary Utilities ("binutils") nástroje a GNU Debugger (GDB). Výsledkem je, že BFD není distribuován samostatně, ale je vždy součástí vydání binutils a GDB. Nicméně, BFD je kritickou součástí při používání nástrojů GNU pro vestavěné systémy rozvoj.
Knihovnu BFD lze použít ke čtení strukturovaných dat z a skládka jádra.
Viz také
- Jazyk popisu binárního formátu, nepoužívá knihovna BFD.
Reference
- ^ „Otevřené zdroje: Hlasy z revoluce v otevřeném zdroji“. O'Reilly. Leden 1999. Citováno 2011-11-11.
Gumby začal navrhovat knihovnu a diskutovat o designu se Stallmanem. Stallman řekl, že práce je příliš obtížná - bude vyžadovat kompletní přepsání všech nástrojů a bude příliš obtížné ji udržovat. Gumby mu řekl, že to nebyl takový „Big F * cking Deal“, a proto nazval tento nový výtvor knihovnou BFD. (Našim zákazníkům jsme vysvětlili, že BFD znamená knihovnu deskriptorů binárních souborů.)
- ^ Langasek, Steve (2005-05-22). "Re: v závislosti na sdíleném libbfd z binutils-dev". debian-devel (Poštovní seznam). Citováno 2011-04-03.
- ^ Kuratomi, Toshio (04.06.2010). "binutils ještě jednou". Balení Fedory (Poštovní seznam). Citováno 2011-04-03.
- ^ Taylor, Ian (12.9.2003). „Re: FreeBSD 4.6 - binutils 2.14 instaluje zbytečné libbfd“. binutils (Poštovní seznam). Citováno 2011-04-03.