GNU Binutils

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
GNU Binutils
software
Siglă
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ă

  1. ^ (RO) GNU Binary Utilities , pe sourceware.org.
  2. ^ (EN) The GNU Binary Utilities (PDF) on eecs.umich.edu, în aprilie 2010.
  3. ^ (EN) Clifton, GNU Binutils 2.33.1 lansat pe lists.gnu.org, 12 octombrie 2019. Adus pe 29 decembrie 2019.
  4. ^ (EN) Index of / pub / Linux / devel / binutils / , la Linux Kernel Archives.
  5. ^ (EN) Porturile lui Paul: GNU Binutils , pe os2ports.smedley.info. Adus pe 29 decembrie 2019 .
  6. ^ (EN) README-release.binutils-2.24.51.0.3 , pe kernel.org. Adus pe 29 decembrie 2019 .
  7. ^ (EN)GNU Binary Utilities , în Free Software Directory , 16 octombrie 2019. Adus pe 29 decembrie 2019.
  8. ^ (EN) GNU Binutils , sourceware.org pe 12 octombrie 2019. Adus pe 29 decembrie 2019.
  9. ^ (EN) GNU Binutils , al proiectului GNU , 12 octombrie 2019. Adus pe 29 decembrie 2019.
  10. ^ Deși unele texte și autori în limba italiană au ales să traducă termenul, acesta din urmă este de o utilizare foarte rară.
  11. ^ (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. " .
  12. ^ (EN) Mangling nume (numai C ++) , IBM Knowledge Center. Adus pe 29 decembrie 2019 .
  13. ^ (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ă. " .
  14. ^ (EN) Proiectul elfutils , pe sourceware.org. Adus pe 29 decembrie 2019 .

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT