EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

abi-compliance-checker - Online în cloud

Rulați abi-compliance-checker în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda abi-compliance-checker care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


abi-compliance-checker - instrument pentru a compara compatibilitatea ABI a bibliotecii partajate C/C++
Versiunile

DESCRIERE


NUME:
ABI Compliance Checker (abi-compliance-checker) Verificați compatibilitatea cu versiunea anterioară a a
API-ul bibliotecii C/C++

DESCRIERE:
ABI Compliance Checker (ABICC) este un instrument pentru verificarea binarului înapoi și
compatibilitatea la nivel de sursă a unei biblioteci C/C++ partajate. Instrumentul verifică fișierele antet
și biblioteci partajate (*.so) ale versiunilor vechi și noi și analizează modificările API și
ABI (ABI=API+compiler ABI) care poate rupe compatibilitatea binară și/sau la nivel de sursă:
modificări în stiva de apeluri, modificări v-table, simboluri eliminate, câmpuri redenumite etc.
Incompatibilitatea binară poate duce la blocarea sau un comportament incorect al aplicațiilor
construit cu o versiune veche a unei biblioteci dacă rulează pe una nouă. Sursă
incompatibilitatea poate duce la erori de recompilare cu o nouă versiune de bibliotecă.

Instrumentul este destinat dezvoltatorilor de biblioteci software și întreținătorilor de
sisteme de operare care sunt interesate să asigure compatibilitatea cu versiunea anterioară, adică să permită
aplicații vechi să ruleze sau să fie recompilate cu versiuni mai noi de bibliotecă.

De asemenea, instrumentul poate fi folosit de ISV-uri pentru a verifica portabilitatea aplicațiilor la noi
versiuni de bibliotecă. Problemele găsite pot fi luate în considerare la adaptarea
aplicație la o nouă versiune de bibliotecă.

Acest instrument este software gratuit: îl puteți redistribui și/sau modifica sub
termenii GNU LGPL sau GNU GPL.

UTILIZARE:
abi-compliance-checker [opțiuni]

EXEMPLU:
abi-compliance-checker -lib NUME -vechi OLD.xml -nou NOU.xml

OLD.xml și NEW.xml sunt descriptori XML:



1.0





/path1/to/header(e)/ /path2/the/header(e)/

...





/cale1/la/biblioteca(i)/ /calea2/la/biblioteca(i)/

...



INFORMAŢII OPȚIUNI:
-h|-ajutor

Imprimați acest ajutor.

-i|-info

Tipăriți informații complete.

-v|-versiunea

Informații despre versiunea tipărită.

-versiunea de gunoi

Imprimați versiunea instrumentului (1.99.14) și nu faceți nimic altceva.

GENERAL OPȚIUNI:
-l|-lib|-bibliotecă NUME

Numele bibliotecii (fără versiune).

-d1|-vechi|-o CALEA

Descriptorul primei versiuni de bibliotecă (veche). Poate fi una dintre următoarele:

1. Descriptor XML (fișier VERSION.xml):



1.0





/path1/to/header(e)/ /path2/the/header(e)/

...





/cale1/la/biblioteca(i)/ /calea2/la/biblioteca(i)/

...



...

2. Dump ABI generat de - haldă opțiunea 3. Director cu anteturi și/sau partajat
biblioteci 4. Fișier antet unic

Dacă utilizați 2-4 tipuri de descriptor, atunci ar trebui să specificați numerele de versiune
cu -v1 și -v2 opțiuni.

Pentru mai multe informații, consultați:

http://ispras.linuxbase.org/index.php/Library_Descriptor

-d2|-new|-n PATH

Descriptorul celei de-a doua (noue) versiuni de bibliotecă.

- haldă|-dump-abi CALEA

Creați un dump ABI al bibliotecii pentru descriptorul XML de intrare. Îl poți transfera oriunde
și trece în locul descriptorului. De asemenea, poate fi folosit pentru depanarea instrumentului.

Versiuni acceptate de dump ABI: 2.0<=V<=3.2

EXTRA OPȚIUNI:
App|-application PATH

Această opțiune vă permite să specificați aplicația pentru care ar trebui verificată
portabilitate la noua versiune de bibliotecă.

-static-libs

Verificați bibliotecile statice în loc de cele partajate. The sectiunea a
Descriptorul XML ar trebui să indice locația bibliotecilor statice.

-gcc-cale PATH

Calea către compilatorul GCC încrucișat de utilizat în locul GCC obișnuit (gazdă).

-gcc-prefix PREFIX

Prefixul lanțului de instrumente GCC.

-gcc-opțiuni OPTS

Opțiuni suplimentare ale compilatorului.

-syroot DIR

Specificați directorul rădăcină alternativ. Instrumentul va căuta include căi în
directoarele DIR/usr/include și DIR/usr/lib.

-v1|-versiunea 1 NUM

Specificați prima versiune de bibliotecă în afara descriptorului. Această opțiune este necesară dacă
au preferat un tip de descriptor alternativ (vezi -d1 opțiune).

În general, ar trebui să îl specificați în descriptorul XML:



VERSIUNE



-v2|-versiunea 2 NUM

Specificați a doua versiune de bibliotecă în afara descriptorului.

-vnum NUM

Specificați versiunea bibliotecii în dump-ul ABI generat. The sectiunea a
descriptorul XML de intrare va fi suprascris în acest caz.

-s|-strict

Tratați toate avertismentele de compatibilitate drept probleme. Adăugați un număr de severitate „Scăzut”.
probleme la valoarea de returnare a instrumentului.

-doar antete

Verificați fișierele antet fără biblioteci partajate. Este ușor de rulat, dar poate oferi a
raport de compatibilitate de calitate scăzută cu false pozitive și fără detectarea
simboluri adăugate/eliminate.

Alternativ, puteți scrie cuvântul „niciun” la secțiunea din
Descriptor XML:



nici unul



-show-retval

Afișați tipul de returnare al simbolului în raport.

-lista-simboluri PATH

Această opțiune vă permite să specificați un fișier cu o listă de simboluri (nume stricate în
C++) care ar trebui verificat. Alte simboluri nu vor fi verificate.

-lista-tipuri PATH

Această opțiune vă permite să specificați un fișier cu o listă de tipuri care ar trebui să fie
verificat. Alte tipuri nu vor fi verificate.

-salta-simboluri PATH

Lista simbolurilor care nu trebuie verificate.

-tipuri de sărituri PATH

Lista de tipuri care nu ar trebui verificate.

-listă-anteturi PATH

Fișierul cu o listă de anteturi, care ar trebui verificate/cumpărate.

-săriți anteturile PATH

Fișierul cu lista de fișiere antet, care nu trebuie verificat.

-antet NUME

Verificați/Dump ABI numai pentru acest antet.

-haldele de utilizare

Faceți depozite pentru două versiuni ale unei biblioteci și comparați depozitele. Acest lucru ar trebui să crească
performanța instrumentului și reducerea utilizării memoriei sistemului.

-nostdinc

Nu căutați în directoarele de sistem standard GCC fișiere antet.

-sistem-basculantă NUME -syroot DIR

Găsiți toate bibliotecile partajate și fișierele antet în directorul DIR, creați XML
descriptori și faceți depozite ABI pentru fiecare bibliotecă. Setul de rezultate de depozite ABI poate fi
comparat (--cmp-sisteme) cu celălalt creat pentru altă versiune de operare
sistem pentru a le verifica compatibilitatea. Nu uitați să specificați
-cross-gcc opțiune dacă sistemul dvs. țintă necesită o anumită versiune a GCC
compilator (diferit de GCC gazdă). Dump-ul ABI al sistemului va fi generat pentru:

sys_dumps/NAME/ARCH

-sistem-basculantă DESCRIPTOR.xml

La fel ca și opțiunea anterioară, dar ia un descriptor XML al sistemului țintă ca
intrare, unde ar trebui să o descrieți:

/* Secțiuni primare */



/* Numele sistemului */





/* Lista căilor către fișierele antet și/sau

directoare cu fișiere antet, câte unul pe linie */





/* Lista de căi către bibliotecile partajate și/sau

directoare cu biblioteci partajate, unul pe linie */



/* Secțiuni opționale */



/* Lista directoarelor care trebuie căutate

pentru ca fișierele de antet să genereze automat căi includ, una pe linie */





/* Lista directoarelor care trebuie căutate

pentru bibliotecile partajate pentru a rezolva dependențe, una pe linie */





/* Lista directoarelor cu instrumentele folosite

pentru analiză (lanțul de instrumente GCC), unul pe linie */





/* Prefixul lanțului de instrumente GCC.

Exemple:
arm-linux-gnueabi arm-none-symbianelf */





/* Opțiuni GCC suplimentare, una pe linie */



-sysinfo DIR

Această opțiune ar trebui folosită cu -sistem-basculantă opțiunea de a descărca ABI de operare
sisteme și configurați procesul de dumping. Puteți găsi o mostră în pachet:

module/Targets/{unix, symbian, windows}

-sisteme-cmp -d1 sys_dumps/NAME1/ARCH -d2 sys_dumps/NAME2/ARCH

Comparați două depozite ABI de sistem. Creați rapoarte de compatibilitate pentru fiecare bibliotecă și
raport HTML comun, inclusiv rezumatul rezultatelor testelor pentru toate bibliotecile verificate.
Raportul va fi generat pentru:

sys_compat_reports/NAME1_to_NAME2/ARCH

-libs-list PATH

Fișierul cu o listă de biblioteci, care ar trebui să fie aruncat de către -sistem-basculantă opțiune
sau ar trebui verificat de către -sisteme-cmp opțiune.

-ext|-extins

Dacă biblioteca dvs. A ar trebui să fie utilizată de altă bibliotecă B și doriți să controlați
ABI din B, atunci ar trebui să activați această opțiune. Instrumentul va verifica dacă există modificări
în toate tipurile de date, chiar dacă nu sunt utilizate de nicio funcție din biblioteca A. Astfel
Tipurile de date nu fac parte din ABI bibliotecii A, dar pot face parte din ABI din B
bibliotecă.

Schema scurtă este:

aplicația C (încărcat) -> lib B (abi rupt) -> lib A (ABI stabil)

-q|-liniște

Tipăriți toate mesajele în fișier în loc de stdout și stderr. Calea implicită (poate fi
schimbat de -log-path opțiune):

logs/run.log

-stdout

Imprimați rezultatele analizei (rapoarte de compatibilitate și depozite ABI) în stdout în loc de
crearea unui fișier. Acest lucru ar permite transmiterea datelor către alte programe.

-format-raport FMT

Schimbați formatul raportului de compatibilitate. Formate:

htm - format HTML (implicit) xml - format XML

-dump-format FMT

Schimbați formatul de descărcare ABI. Formate:

perl - Data::Format Dumper (implicit) xml - Format XML

-xml

Alias ​​pentru: --format-raport=xml or --format-dump=xml

-Long LIMBA

Setați limbajul bibliotecii (C sau C++). Puteți utiliza această opțiune dacă instrumentul nu poate
detectează automat o limbă. Această opțiune poate fi utilă pentru verificarea antetelor bibliotecii C
(--lang=C) în --doar antete or --extins moduri.

-arc ARC

Setați arhitectura bibliotecii (x86, x86_64, ia64, arm, ppc32, ppc64, s390, etc.). The
opțiunea este utilă dacă instrumentul nu poate detecta arhitectura corectă a intrării
obiecte.

-binar|-bin|-abi

Afișați numai problemele de compatibilitate „Binară”. Generați raport pentru:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-sursă|-src|-api

Afișați numai problemele de compatibilitate „Sursă”. Generați raport pentru:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-limita-afectata LIMITĂ

Numărul maxim de simboluri afectate enumerate sub descrierea modificării
introduceți raportul.

ALTE OPȚIUNI:
-Test

Rulați teste interne. Creați două versiuni binare incompatibile ale unei biblioteci de mostre și
rulați instrumentul pentru a le verifica compatibilitatea. Această opțiune vă permite să verificați dacă
instrumentul funcționează corect în mediul actual.

-test-dump

Testați capacitatea de a crea, citi și compara depozite ABI.

- depanare

Mod de depanare. Tipăriți informațiile de depanare pe ecran. Salvați etapele intermediare de analiză
în directorul de depanare:

depanare/LIB_NAME/VERSION/

Luați în considerare și utilizarea --descărcare opțiune pentru depanarea instrumentului.

-compatibil cu cpp

Dacă fișierele de antet sunt scrise în limbaj C și pot fi compilate de G++
compilator (adică nu folosiți cuvinte cheie C++), atunci puteți spune instrumentului despre acest lucru și
accelerarea analizei.

-cpp-incompatibil

Setați această opțiune dacă fișierele de antet C de intrare folosesc cuvinte cheie C++.

-p|-params PATH

Calea către fișierul cu numele parametrilor funcției. Poate fi folosit pentru îmbunătățirea raportului
vizualizați dacă fișierele antet bibliotecii nu au nume de parametri. Tipul fisierului:

func1;param1;param2;param3 ... func2;param1;param2;param3 ...

...

-relpath PATH

Înlocuiți macrocomenzile {RELPATH} cu PATH în descriptorul XML utilizat pentru descărcarea bibliotecii
ABI (vezi - haldă opțiune).

-relpath1 PATH

Înlocuiți macrocomenzi {RELPATH} în PATH în primul descriptor XML (-d1).

-relpath2 PATH

Înlocuiți macrocomenzi {RELPATH} cu PATH în al doilea descriptor XML (-d2).

-dump-path PATH

Specificați o cale de fișier *.abi.tar.gz sau *.abi unde să generați un dump ABI. Mod implicit:

abi_dumps/LIB_NAME/LIB_NAME_VERSION.abi.tar.gz

-fel

Activați sortarea datelor în depozitele ABI.

-cale-raport PATH

Calea către raportul de compatibilitate. Mod implicit:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

-bin-report-path PATH

Calea către raportul de compatibilitate „Binar”. Mod implicit:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-src-raport-cale PATH

Calea către raportul de compatibilitate „Sursă”. Mod implicit:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-log-path PATH

Calea jurnalului pentru toate mesajele. Mod implicit:

logs/LIB_NAME/VERSION/log.txt

-log1-cale PATH

Calea jurnalului pentru prima versiune a unei biblioteci. Mod implicit:

logs/LIB_NAME/V1/log.txt

-log2-cale PATH

Calea jurnalului pentru a doua versiune a unei biblioteci. Mod implicit:

logs/LIB_NAME/V2/log.txt

-modul de înregistrare MODE

Schimbați modul de înregistrare. Moduri:

w - suprascrieți jurnalele vechi (implicit) a - adăugați jurnale vechi n - nu scrieți niciun log

-lista-afectate

Generați fișierul cu lista de simboluri incompatibile lângă compatibilitatea HTML
raport. Utilizați comanda „c++filt @file” din GNU binutils pentru a dezmembra simbolurile C++
fișierul generat. Nume implicite:

abi_affected.txt src_affected.txt

-componenta NUME

Numele componentei din titlul și rezumatul raportului HTML. Mod implicit:

bibliotecă

-titlu NUME

Schimbați numele bibliotecii din titlul raportului în NAME. În mod implicit va fi afișat a
nume specificat de -l opțiune.

-informații suplimentare DIR

Transferați informații suplimentare în DIR.

-extra-haldă

Creați un dump ABI extins care conține toate simbolurile din unitatea de traducere.

-forta

Încercați să utilizați această opțiune dacă instrumentul nu funcționează.

-toleranţă NIVEL

Aplicați un set de euristici pentru a compila cu succes fișierele de antet de intrare. Poti
activați mai multe niveluri de toleranță unindu-le într-un singur șir (de ex. 13, 124,
etc.). Niveluri:

1 - omite anteturile non-Linux (de ex. win32_*.h, etc.) 2 - ignoră anteturile interne (de ex.
*_p.h, impl/*.h, etc.) 3 - ignorați anteturile care includ anteturi non-Linux 4 - ignorați
anteturi incluse de alții

-tolerant

Activați cel mai înalt nivel de toleranță [1234].

-Verifica

Verificați caracterul complet al depozitului ABI.

-rapid

Analiză rapidă. Dezactivați verificarea unor instanțe de șablon.

-salta-simboluri-interne MODEL

Nu verificați simbolurile potrivite cu modelul.

-sări-tipuri-interne MODEL

Nu verificați tipurile potrivite cu modelul.

RAPORT:
Raportul de compatibilitate va fi generat pentru:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

Jurnalul va fi generat pentru:

logs/LIB_NAME/V1/log.txt logs/LIB_NAME/V2/log.txt

EXIT CODURI:
0 - Compatibil. Instrumentul a rulat fără erori. non-zero - Incompatibil sau
instrumentul a rulat cu erori.

MAI MULT INFORMAȚII:
http://lvc.github.io/abi-compliance-checker/

Utilizați abi-compliance-checker online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Phaser
    Phaser
    Phaser este o deschidere rapidă, gratuită și distractivă
    cadru de joc HTML5 sursă care oferă
    Redare WebGL și Canvas
    browsere web desktop și mobile. Jocuri
    poate fi co...
    Descărcați Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL este un motor de joc pentru creare
    versiuni electronice ale plăcii tradiționale
    și jocuri de cărți. Oferă suport pentru
    redarea și interacțiunea pieselor de joc,
    și ...
    Descărcați VASSAL Engine
  • 3
    OpenPDF - Furk of iText
    OpenPDF - Furk of iText
    OpenPDF este o bibliotecă Java pentru creare
    și editarea fișierelor PDF cu un LGPL și
    Licență open source MPL. OpenPDF este
    Succesorul LGPL/MPL open source al iText,
    o ...
    Descărcați OpenPDF - Furk of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem pentru automatizare
    Analize Geoștiințifice - este un Geografic
    Sistemul informatic (GIS) software cu
    capacități imense pentru geodate
    procesare și ana...
    Descărcați SAGA GIS
  • 5
    Caseta de instrumente pentru Java/JTOpen
    Caseta de instrumente pentru Java/JTOpen
    IBM Toolbox for Java / JTOpen este un
    biblioteca de clase Java care acceptă
    programare client/server și internet
    modele către un sistem care rulează OS/400,
    i5/OS, o...
    Descărcați Toolbox pentru Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (sau D3 pentru documente bazate pe date)
    este o bibliotecă JavaScript care vă permite
    pentru a produce date dinamice, interactive
    vizualizări în browsere web. Cu D3
    tu...
    Descărcați D3.js
  • Mai mult »

Comenzi Linux

  • 1
    abidiff
    abidiff
    abidiff - comparați ABI-urile fișierelor ELF
    abidiff compară aplicația binară
    Interfețe (ABI) a două biblioteci partajate
    în format ELF. Emite un sens
    repor ...
    Fugi abidiff
  • 2
    abidw
    abidw
    abidw - serializați ABI-ul unui ELF
    fișierul abidw citește o bibliotecă partajată în ELF
    format și emite o reprezentare XML
    a ABI-ului său la ieșirea standard. The
    emis...
    Run abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversie bibliografie
    utilitati...
    Rulați copac2xml
  • 4
    Copt
    Copt
    copt - optimizator peephole SYSNOPIS:
    fișier copt.. DESCRIERE: copt este a
    optimizator de uz general pentru vizor. Aceasta
    citește codul din intrarea sa standard și
    scrie un...
    Fugi copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - aduna titlul
    declarații din documentele Stx...
    Rulați gather_stx_titles
  • 6
    gatling-banc
    gatling-banc
    bench - http benchmark...
    Alerga gatling-bench
  • Mai mult »

Ad