InglesPransesEspanyol

Ad


OnWorks favicon

abi-compliance-checker - Online sa Cloud

Magpatakbo ng abi-compliance-checker sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command abi-compliance-checker na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


abi-compliance-checker - tool upang ihambing ang ABI compatibility ng shared C/C++ library
mga bersyon

DESCRIPTION


PANGALAN:
ABI Compliance Checker (abi-compliance-checker) Suriin ang pabalik na compatibility ng a
C/C++ library API

DESCRIPTION:
Ang ABI Compliance Checker (ABICC) ay isang tool para sa pagsuri ng backward binary at
source-level compatibility ng isang shared C/C++ library. Sinusuri ng tool ang mga file ng header
at mga nakabahaging aklatan (*.so) ng luma at bagong mga bersyon at sinusuri ang mga pagbabago sa API at
ABI (ABI=API+compiler ABI) na maaaring masira ang binary at/o source-level compatibility:
mga pagbabago sa calling stack, mga pagbabago sa v-table, inalis na mga simbolo, pinalitan ang pangalan ng mga field, atbp.
Ang hindi pagkakatugma ng binary ay maaaring magresulta sa pag-crash o hindi tamang pag-uugali ng mga application
binuo gamit ang isang lumang bersyon ng isang library kung tumatakbo ang mga ito sa isang bago. Pinagmulan
ang hindi pagkakatugma ay maaaring magresulta sa mga error sa recompilation sa isang bagong bersyon ng library.

Ang tool ay inilaan para sa mga developer ng software library at maintainers ng
mga operating system na interesado sa pagtiyak ng backward compatibility, ibig sabihin, payagan
mga lumang application na tatakbo o muling isasama sa mga mas bagong bersyon ng library.

Gayundin ang tool ay maaaring gamitin ng mga ISV para sa pagsuri ng mga application na maaaring dalhin sa bago
mga bersyon ng aklatan. Ang mga nahanap na isyu ay maaaring isaalang-alang kapag iniangkop ang
application sa isang bagong bersyon ng library.

Ang tool na ito ay libreng software: maaari mo itong muling ipamahagi at/o baguhin ito sa ilalim ng
mga tuntunin ng GNU LGPL o GNU GPL.

PAGGAMIT:
abi-compliance-checker [mga opsyon]

HALIMBAWA:
abi-compliance-checker -lib NAME -matanda OLD.xml -bago NEW.xml

Ang OLD.xml at NEW.xml ay mga XML-descriptor:



1.0





/path1/to/header(s)/ /path2/to/header(s)/

...





/path1/to/library(ies)/ /path2/to/library(ies)/

...



IMPORMASYON OPSYON:
-h|-tulong

I-print ang tulong na ito.

-i|-impormasyon

I-print ang kumpletong impormasyon.

-v|-bersyon

Impormasyon sa bersyon ng pag-print.

-dumpversion

I-print ang bersyon ng tool (1.99.14) at huwag gumawa ng anumang bagay.

PANGKALAHATAN OPSYON:
-l|-lib|-library NAME

Pangalan ng library (walang bersyon).

-d1|-luma|-o PATH

Descriptor ng 1st (lumang) bersyon ng library. Maaaring isa ito sa mga sumusunod:

1. XML-descriptor (VERSION.xml file):



1.0





/path1/to/header(s)/ /path2/to/header(s)/

...





/path1/to/library(ies)/ /path2/to/library(ies)/

...



...

2. ABI dump na nabuo ng -tapon opsyon 3. Direktoryo na may mga header at/o nakabahagi
mga aklatan 4. Single header file

Kung gumagamit ka ng 2-4 na uri ng deskriptor, dapat mong tukuyin ang mga numero ng bersyon
sa -v1 at -v2 pagpipilian din.

Para sa karagdagang impormasyon, mangyaring tingnan ang:

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

-d2|-bago|-n PATH

Descriptor ng ika-2 (bagong) bersyon ng library.

-tapon|-dump-abi PATH

Gumawa ng library ABI dump para sa input XML descriptor. Maaari mo itong ilipat kahit saan
at pumasa sa halip na ang descriptor. Maaari rin itong magamit para sa pag-debug ng tool.

Mga sinusuportahang bersyon ng ABI dump: 2.0<=V<=3.2

EXTRA OPSYON:
App|-application PATH

Ang pagpipiliang ito ay nagpapahintulot sa isa na tukuyin ang application na dapat suriin
portability sa bagong bersyon ng library.

-static-libs

Suriin ang mga static na aklatan sa halip na ang mga nakabahaging aklatan. Ang seksyon ng
Dapat tumuro ang XML-descriptor sa static na lokasyon ng mga library.

-gcc-path PATH

Path sa cross GCC compiler na gagamitin sa halip na ang karaniwang (host) GCC.

-gcc-prefix PREFIX

GCC toolchain prefix.

-gcc-options OPTS

Mga karagdagang opsyon sa compiler.

-sysroot DIR

Tukuyin ang alternatibong root directory. Ang tool ay maghahanap para sa isama ang mga landas sa
ang DIR/usr/include at DIR/usr/lib na mga direktoryo.

-v1|-bersyon1 NUM

Tukuyin ang unang bersyon ng library sa labas ng descriptor. Ang pagpipiliang ito ay kailangan kung ikaw
mas gusto ang isang alternatibong uri ng deskriptor (tingnan -d1 pagpipilian).

Sa pangkalahatan, dapat mong tukuyin ito sa XML-descriptor:



VERSION



-v2|-bersyon2 NUM

Tukuyin ang ika-2 bersyon ng library sa labas ng descriptor.

-vnum NUM

Tukuyin ang bersyon ng library sa nabuong ABI dump. Ang seksyon ng
Ang input na XML descriptor ay mapapatungan sa kasong ito.

-s|-mahigpit

Tratuhin ang lahat ng babala sa compatibility bilang mga problema. Magdagdag ng bilang ng "Mababang" kalubhaan
mga problema sa return value ng tool.

-header-lamang

Suriin ang mga file ng header nang walang mga nakabahaging aklatan. Madali itong patakbuhin, ngunit maaaring magbigay ng a
mababang kalidad na ulat sa pagiging tugma na may mga maling positibo at walang pagtukoy ng
idinagdag/tinanggal ang mga simbolo.

Bilang kahalili maaari mong isulat ang "wala" na salita sa seksyon sa
XML-descriptor:



wala



-show-retval

Ipakita ang uri ng pagbabalik ng simbolo sa ulat.

-listahan ng mga simbolo PATH

Ang pagpipiliang ito ay nagbibigay-daan sa isa na tukuyin ang isang file na may isang listahan ng mga simbolo (magled names in
C++) na dapat suriin. Ang iba pang mga simbolo ay hindi susuriin.

-listahan ng mga uri PATH

Ang pagpipiliang ito ay nagpapahintulot sa isa na tukuyin ang isang file na may listahan ng mga uri na dapat
sinuri. Ang iba pang mga uri ay hindi susuriin.

-laktawan-mga simbolo PATH

Ang listahan ng mga simbolo na hindi dapat suriin.

-skip-types PATH

Ang listahan ng mga uri na hindi dapat suriin.

-header-list PATH

Ang file na may listahan ng mga header, na dapat suriin/i-dumped.

-laktawan ang mga header PATH

Ang file na may listahan ng mga header file, na hindi dapat suriin.

-header NAME

Suriin/I-dump ang ABI ng header na ito lamang.

-gamit-mga tambakan

Gumawa ng mga dump para sa dalawang bersyon ng isang library at ihambing ang mga dump. Dapat itong tumaas
ang pagganap ng tool at bawasan ang paggamit ng memorya ng system.

-nostdinc

Huwag maghanap sa mga karaniwang direktoryo ng system ng GCC para sa mga file ng header.

-dump-system NAME -sysroot DIR

Hanapin ang lahat ng nakabahaging aklatan at mga file ng header sa direktoryo ng DIR, lumikha ng XML
descriptors at gumawa ng ABI dumps para sa bawat library. Ang resultang set ng ABI dumps ay maaaring
kumpara (--cmp-systems) kasama ang isa pang nilikha para sa ibang bersyon ng pagpapatakbo
system upang suriin ang mga ito para sa pagiging tugma. Huwag kalimutang tukuyin
-cross-gcc opsyon kung ang iyong target na system ay nangangailangan ng ilang partikular na bersyon ng GCC
compiler (iba sa host GCC). Ang system ABI dump ay bubuo sa:

sys_dumps/NAME/ARCH

-dump-system DESCRIPTOR.xml

Pareho sa nakaraang opsyon ngunit kumukuha ng XML descriptor ng target na sistema bilang
input, kung saan dapat mong ilarawan ito:

/* Mga pangunahing seksyon */



/* Pangalan ng system */





/* Ang listahan ng mga path patungo sa mga file ng header at/o

mga direktoryo na may mga file ng header, isa bawat linya */





/* Ang listahan ng mga path patungo sa mga shared library at/o

mga direktoryo na may mga nakabahaging aklatan, isa bawat linya */



/* Opsyonal na mga seksyon */



/* Listahan ng mga direktoryo na hahanapin

para sa mga file ng header na awtomatikong makabuo ng mga path, isa sa bawat linya */





/* Listahan ng mga direktoryo na hahanapin

para sa mga shared library upang malutas ang mga dependency, isa bawat linya */





/* Listahan ng mga direktoryo na may mga tool na ginamit

para sa pagsusuri (GCC toolchain), isa bawat linya */





/* GCC toolchain prefix.

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





/* Karagdagang mga opsyon sa GCC, isa bawat linya */



-sysinfo DIR

Ang pagpipiliang ito ay dapat gamitin sa -dump-system opsyon na itapon ang ABI ng pagpapatakbo
system at i-configure ang proseso ng paglalaglag. Makakahanap ka ng sample sa package:

modules/Target/{unix, symbian, windows}

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

Paghambingin ang dalawang system ABI dumps. Gumawa ng mga ulat sa pagiging tugma para sa bawat library at ang
karaniwang ulat sa HTML kasama ang buod ng mga resulta ng pagsubok para sa lahat ng mga naka-check na library.
Ang ulat ay bubuo sa:

sys_compat_reports/NAME1_to_NAME2/ARCH

-libs-listahan PATH

Ang file na may listahan ng mga aklatan, na dapat itapon ng -dump-system opsyon
o dapat suriin ng -cmp-systems pagpipilian.

-ext|-pinahaba

Kung ang iyong library A ay dapat gamitin ng ibang library B at gusto mong kontrolin
ang ABI ng B, pagkatapos ay dapat mong paganahin ang opsyong ito. Susuriin ng tool ang mga pagbabago
sa lahat ng mga uri ng data, kahit na hindi sila ginagamit ng anumang function sa library A. Tulad
Ang mga uri ng data ay hindi bahagi ng A library ABI, ngunit maaaring bahagi ng ABI ng B
library.

Ang maikling scheme ay:

app C (sirang) -> lib B (sirang ABI) -> lib A (stable ABI)

-q|-tahimik

I-print ang lahat ng mensahe sa file sa halip na stdout at stderr. Default na landas (maaaring
binago ng -log-path opsyon):

logs/run.log

-stdout

I-print ang mga resulta ng pagsusuri (mga ulat sa pagiging tugma at ABI dump) sa stdout sa halip na
paggawa ng file. Ito ay magpapahintulot sa piping data sa iba pang mga programa.

-ulat-format FMT

Baguhin ang format ng ulat sa pagiging tugma. Mga format:

htm - HTML format (default) xml - XML ​​format

-dump-format FMT

Baguhin ang format ng ABI dump. Mga format:

perl - Data::Dumper format (default) xml - XML ​​format

-xml

Alias ​​para sa: --ulat-format=xml or --dump-format=xml

-lang WIKA

Itakda ang wika ng library (C o C++). Magagamit mo ang opsyong ito kung hindi magawa ng tool
auto-detect ang isang wika. Maaaring maging kapaki-pakinabang ang opsyong ito para sa pagsuri sa mga header ng C-library
(--lang=C) sa --headers-lamang or --pinahaba mga mode.

-arko ARCH

Itakda ang arkitektura ng library (x86, x86_64, ia64, braso, ppc32, ppc64, s390, atbp.). Ang
Ang opsyon ay kapaki-pakinabang kung hindi matukoy ng tool ang tamang arkitektura ng input
mga bagay.

-binaryo|-bin|-abi

Ipakita lang ang mga problema sa compatibility na "Binary". Bumuo ng ulat sa:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-pinagmulan|-src|-api

Ipakita lamang ang mga problema sa compatibility ng "Pinagmulan". Bumuo ng ulat sa:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-limit-apektado LIMIT

Ang maximum na bilang ng mga apektadong simbolo na nakalista sa ilalim ng paglalarawan ng binago
i-type ang ulat.

OTHER OPSYON:
-pagsusulit

Magpatakbo ng mga panloob na pagsubok. Lumikha ng dalawang binary na hindi magkatugma na bersyon ng isang sample na library at
patakbuhin ang tool upang suriin ang mga ito para sa pagiging tugma. Ang pagpipiliang ito ay nagpapahintulot sa isa na suriin kung
gumagana nang tama ang tool sa kasalukuyang kapaligiran.

-test-dump

Subukan ang kakayahang gumawa, magbasa at maghambing ng mga ABI dump.

-debug

Mode ng pag-debug. I-print ang impormasyon sa pag-debug sa screen. I-save ang mga intermediate na yugto ng pagsusuri
sa direktoryo ng debug:

debug/LIB_NAME/VERSION/

Isaalang-alang din ang paggamit --tambakan opsyon para sa pag-debug ng tool.

-cpp-compatible

Kung ang iyong mga file ng header ay nakasulat sa wikang C at maaaring i-compile ng G++
compiler (ibig sabihin, huwag gumamit ng C++ na mga keyword), pagkatapos ay maaari mong sabihin sa tool ang tungkol dito at
pabilisin ang pagsusuri.

-cpp-incompatible

Itakda ang opsyong ito kung gumagamit ng C++ na mga keyword ang input C header file.

-p|-params PATH

Path sa file na may mga pangalan ng parameter ng function. Maaari itong magamit para sa pagpapabuti ng ulat
tingnan kung ang mga file ng header ng library ay walang mga pangalan ng parameter. Format ng file:

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

...

-relpath PATH

Palitan ang {RELPATH} macros sa PATH sa XML-descriptor na ginamit para sa pag-dumping sa library
ABI (tingnan -tapon pagpipilian).

-relpath1 PATH

Palitan ang {RELPATH} macros sa PATH sa 1st XML-descriptor (-d1).

-relpath2 PATH

Palitan ang {RELPATH} macros sa PATH sa 2nd XML-descriptor (-d2).

-dump-landas PATH

Tumukoy ng *.abi.tar.gz o *.abi file path kung saan bubuo ng ABI dump. Default:

abi_dumps/LIB_NAME/LIB_NAME_VERSION.abi.tar.gz

-uri-uriin

Paganahin ang pag-uuri ng data sa mga ABI dump.

-ulat-landas PATH

Path sa ulat ng compatibility. Default:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

-bin-report-path PATH

Path sa ulat ng compatibility na "Binary". Default:

compat_reports/LIB_NAME/V1_to_V2/abi_compat_report.html

-src-report-path PATH

Path sa ulat ng compatibility na "Pinagmulan." Default:

compat_reports/LIB_NAME/V1_to_V2/src_compat_report.html

-log-path PATH

Log path para sa lahat ng mensahe. Default:

logs/LIB_NAME/VERSION/log.txt

-log1-path PATH

Log path para sa unang bersyon ng isang library. Default:

logs/LIB_NAME/V1/log.txt

-log2-path PATH

Log path para sa ika-2 bersyon ng isang library. Default:

logs/LIB_NAME/V2/log.txt

-logging-mode MODE

Baguhin ang logging mode. Mga mode:

w - i-overwrite ang mga lumang log (default) a - idagdag ang mga lumang log n - huwag magsulat ng anumang log

-listang-apektado

Bumuo ng file na may listahan ng mga hindi tugmang simbolo sa tabi ng HTML compatibility
ulat. Gumamit ng command na 'c++filt @file' mula sa GNU binutils para i-unmangle ang mga simbolo ng C++
ang nabuong file. Mga default na pangalan:

abi_affected.txt src_affected.txt

-sangkap NAME

Ang pangalan ng bahagi sa pamagat at buod ng ulat ng HTML. Default:

aklatan

-pamagat NAME

Palitan ang pangalan ng library sa pamagat ng ulat ng NAME. Bilang default ay ipapakita ang a
pangalan na tinukoy ni -l pagpipilian.

-dagdag-impormasyon DIR

Magtapon ng karagdagang impormasyon sa DIR.

-extra-dump

Gumawa ng pinahabang ABI dump na naglalaman ng lahat ng simbolo mula sa unit ng pagsasalin.

-puwersa

Subukang gamitin ang opsyong ito kung hindi gumagana ang tool.

-pagtitiis ANTAS

Maglapat ng isang set ng heuristics upang matagumpay na mag-compile ng mga input header file. Kaya mo
paganahin ang ilang antas ng pagpapaubaya sa pamamagitan ng pagsasama sa kanila sa isang string (hal. 13, 124,
atbp.). Mga Antas:

1 - laktawan ang mga non-Linux header (hal. win32_*.h, atbp.) 2 - laktawan ang mga panloob na header (hal.
*_p.h, impl/*.h, atbp.) 3 - laktawan ang mga header na kinabibilangan ng mga hindi Linux na header 4 - laktawan
mga header na kasama ng iba

-magtiis

Paganahin ang pinakamataas na antas ng pagpapaubaya [1234].

-suriin

Suriin ang pagkakumpleto ng ABI dump.

-mabilis

Mabilis na pagsusuri. Huwag paganahin ang pagsusuri ng ilang mga halimbawa ng template.

-laktawan ang mga panloob na simbolo PATTERN

Huwag suriin ang mga simbolo na tumugma sa pattern.

-skip-internal-types PATTERN

Huwag suriin ang mga uri na tumugma sa pattern.

Iulat ang:
Ang ulat sa pagiging tugma ay bubuo sa:

compat_reports/LIB_NAME/V1_to_V2/compat_report.html

Ang log ay bubuo sa:

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

EXIT MGA CODE:
0 - Tugma. Ang tool ay tumatakbo nang walang anumang mga error. non-zero - Hindi tugma o
ang tool ay tumakbo na may mga error.

MORE IMPORMASYON:
http://lvc.github.io/abi-compliance-checker/

Gumamit ng abi-compliance-checker online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad