GNU Binutils
GNU Binutils software | |
---|---|
Tip | |
Dezvoltator | Proiect GNU |
Ultima versiune | 2,37 (18 iulie 2021) |
Sistem de operare | |
Licență | GNU GPL v3 + , clauze BSD 3 și GNU GPL v2 + ( licență gratuită ) |
Site-ul web | www.gnu.org/software/binutils/ |
GNU Binary Utilities [1] [2] , mai bine cunoscut sub numele de GNU Binutils , [3] este o colecție de programe pentru crearea și gestionarea fișierelor binare , a obiectelor , a bibliotecilor , a datelor de profil și a codului sursă de asamblare .
Pachetul binutils include programe precum ld și poate fi utilizat împreună cu compilatoare precum GCC . Codul său sursă este distribuit împreună cu depanatorul GNU sub licența publică generală GNU și este disponibil pentru numeroase sisteme de operare de tip Unix , inclusiv Linux . [4]
Majoritatea software-ului folosește biblioteca descriptorului de fișiere binare , iar unele programe folosesc biblioteca opcodes . Există porturi pentru mai multe sisteme, inclusiv majoritatea variantelor UNIX , Windows , Mac OS X și (parțial) OS / 2 . [5]
Instrumente
Au fost inițial scrise de programatorii Cygnus Solutions .
Binutilele GNU sunt de obicei utilizate împreună cu compilatoare precum GNU Compiler Collection (gcc), instrumente de construcție precum make și GNU Debugger (gdb).
Prin utilizarea bibliotecii descriptorului de fișiere binare (libbfd), majoritatea instrumentelor acceptă diferitele formate de fișiere obiect acceptate de libbfd.
HJ Lu menține o versiune de binutils cu funcționalitate exclusiv pentru Linux . [6]
Comenzi
Binutilele includ următoarele comenzi: [7] [8] [9]
as | Limbaj de asamblare , cunoscut popular ca GAS (Gnu ASsembler) |
ld | Conectare [10] |
gprof | Analiza performanței software-ului [11] |
addr2line | convertiți adresa în fișier și linie |
ar | creați, modificați și extrageți din arhive |
c++filt | Numele filtrului de diferențiere , [12] pentru simboluri în limbaj C ++ |
dlltool | Creați fișiere pentru crearea și utilizarea DLL-urilor |
gold | Conectare alternativă |
nlmconv | convertirea fișierului obiect într-un modul de încărcare NetWare |
nm | listează simboluri în fișiere obiect |
objcopy | copiați fișierele obiect, făcând modificări dacă este necesar [13] |
objdump | descărcați informații despre fișiere obiect |
ranlib | genera indexuri pentru arhive |
readelf | afișează conținutul fișierului ELF |
size | listează dimensiunile totale și secțiunile |
strings | listează șirurile de imprimat |
strip | elimină simbolurile dintr-un fișier obiect |
windmc | generează resurse de mesaje Windows |
windres | compilator pentru fișiere de resurse Windows |
elfutils
Ulrich Drepper a scris elfutils, înlocuind GNU Binutils, exclusiv pentru Linux și cu suport doar pentru ELF și DWARF . [14]
Notă
- ^ (RO) GNU Binary Utilities , pe sourceware.org.
- ^ (EN) The GNU Binary Utilities (PDF) on eecs.umich.edu, în aprilie 2010.
- ^ (EN) Clifton, GNU Binutils 2.33.1 lansat pe lists.gnu.org, 12 octombrie 2019. Adus pe 29 decembrie 2019.
- ^ (EN) Index of / pub / Linux / devel / binutils / , la Linux Kernel Archives.
- ^ (EN) Porturile lui Paul: GNU Binutils , pe os2ports.smedley.info. Adus pe 29 decembrie 2019 .
- ^ (EN) README-release.binutils-2.24.51.0.3 , pe kernel.org. Adus pe 29 decembrie 2019 .
- ^ (EN)GNU Binary Utilities , în Free Software Directory , 16 octombrie 2019. Adus pe 29 decembrie 2019.
- ^ (EN) GNU Binutils , sourceware.org pe 12 octombrie 2019. Adus pe 29 decembrie 2019.
- ^ (EN) GNU Binutils , al proiectului GNU , 12 octombrie 2019. Adus pe 29 decembrie 2019.
- ^ Deși unele texte și autori în limba italiană au ales să traducă termenul, acesta din urmă este de o utilizare foarte rară.
- ^ (EN) Weylin MacCalla și Sameer Kulkarni, Utilizarea GPU-urilor pentru a accelera TurbomachineryCFD Codes (PDF), NASA , ianuarie 2016, p. 7. Adus pe 29 decembrie 2019 .
"Instrumentul de profilare GNU face parte din pachetul de compilare GNU, care este disponibil gratuit sub licența publică generală GNU. A fost folosit pentru a prelua profilul inițial al codului și a fost capabil să furnizeze rezultate la nivel de subrutină despre cele mai consumatoare de timp părți ale codului. Informațiile de la GNU Profiler au fost folosite pentru a restrânge căutarea secțiunilor de cod care urmează să fie descărcate pe GPU. " . - ^ (EN) Mangling nume (numai C ++) , IBM Knowledge Center. Adus pe 29 decembrie 2019 .
- ^ (EN) Terrence Sun, 12 comenzi Linux GNU Binary Utilities cu exemple Binutils (as, ld, ar, nm, objcopy, objdump, size, strings, strip, c ++ flint, addr2line, readelf Exemple de comandă) , de The Geek Lucruri , 10 ianuarie 2017. Adus pe 29 decembrie 2019 .
"Objcopy poate copia conținutul unui fișier obiect într-un alt fișier obiect, iar obiectul de intrare / ieșire poate fi în format diferit. Există momente când trebuie să portați un fișier obiect disponibil pentru un tip de platformă (cum ar fi ARM sau x86) pe un alt tip de platformă. " . - ^ (EN) Proiectul elfutils , pe sourceware.org. Adus pe 29 decembrie 2019 .
Elemente conexe
linkuri externe
- ( RO ) Site oficial , pe gnu.org .
- GNU Binutils , la packages.debian.org .
- Depozitul sursă GNU Binutils , la sourceware.org .
- Site de raportare a erorilor , pe sourceware.org .
- ( EN ) GNU Binutils , în Free Software Directory .