IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

icheck - Online nel cloud

Esegui icheck nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando icheck che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


icheck - Verifica ABI/API dell'interfaccia C

SINOSSI


verifico --canonizzare [[--linea di base RISORSE] ...] [VERSIONI] [OPZIONI_GCC] [--] file

verifico --confrontare [VERSIONI] vecchio_file nuovo file

DESCRIZIONE


Uno strumento per il controllo statico delle interfacce C per le modifiche API e ABI. Tutte le modifiche al tipo
le dichiarazioni che possono causare modifiche ABI dovrebbero essere rilevate, insieme alla maggior parte delle modifiche API.

icheck è destinato all'uso con le librerie, come metodo per prevenire la deriva ABI.

COMANDI


Riduci un insieme di file sorgente in un file di interfaccia canonico con --canonify, quindi confronta
due di questi file di interfaccia con --compare. Se ci sono cambiamenti di interfaccia tra di loro,
icheck descriverà le modifiche e fallirà.

--canonizzare [[--linea di base RISORSE] ...] [VERSIONI] [OPZIONI_GCC] [--] file

Canonizzare i file del codice sorgente (tipicamente intestazioni .h) da confrontare in seguito con
--confrontare. Solitamente utilizzato con il -o opzione per salvare il riepilogo in un file.

--confrontare [VERSIONI] vecchio_file nuovo file

Legge due file di interfaccia canonici generati con --canonizzare e confronta il
struttura del codice sorgente alle modifiche nell'interfaccia pubblica dell'applicazione
(l'interfaccia per sviluppatori o API) e l'Application Binary Interface (ABI) utilizzata per
collegamento ad altri programmi o librerie.

VERSIONI


VERIFICO VERSIONI
-o, --produzione RISORSE

Emetti l'output su FILE, piuttosto che su stdout.

- debug N

Scarica le informazioni di debug.

--soltanto COSA

Elabora solo la COSA data.

--salta-da RISORSE

Salta le cose inutili da RISORSE.

--salta-da-re regexp

Salta le cose non necessarie dai file che corrispondono all'espressione regolare.

--solo-da RISORSE

Prendi solo cose da RISORSE.

--solo-da-re regexp

Prendi solo cose dai file che corrispondono all'espressione regolare.

OPZIONI_GCC

GCC_OPTIONS vengono passati a gcc -E

AIUTO VERSIONI
--Aiuto
Visualizza la sinossi della guida per verifico.

ESEMPI


Tutti i file sorgente sono preelaborati con gcc, quindi canonify ha bisogno delle stesse informazioni di inclusione
come codice sorgente - segui la sintassi del Makefile per includere le opzioni -I per cpp (o
gcc) in modo da poter individuare tutte le intestazioni necessarie. verifico si interromperà se necessario
non è possibile trovare le intestazioni. Il sorgente deve essere compilabile; icheck non può elaborare file che
non possono essere compilati direttamente. Se manca un'intestazione #include istruzioni o altro
richiede di essere utilizzato in modo speciale, quindi non può essere elaborato direttamente con icheck.
Invece, scrivi un file stub C che configuri le cose in modo appropriato e quindi #include il
intestazione.

verifico --canonizzare -o ~/icheck/vecchia versione -I/usr/includi/pippo-2.0 /usr/src/bar/src/foobar.h

Prepara un riepilogo di testo del file foobar.h e di tutti i file che include. Il riassunto è
scritto a ~/icheck/vecchia versione. Ripeti per /usr/src/bar1/src/foobar.h - lo stesso file
nella directory dei sorgenti più recente, emettendo in un nuovo file, ad es ~/icheck/nuova versione.

verifico --confrontare -o ~/icheck/risultati.txt ~/icheck/vecchia versione ~/icheck/nuova versione

Scrive il report del confronto dei due file di riepilogo. Il rapporto indica tutti i
cambiamenti nell'ABI e/o API riscontrati durante il confronto.

verifico --canonizzare -o debian/icheck.canonical -Idebian/foo-dev/usr/include debian/pippo-
dev/usr/include/foobar.h

verifico --confrontare debian/icheck.manifest debian/icheck.canonical

Queste due affermazioni, incluse in a debian/regole file, farà sì che il pacchetto venga compilato
fallisce se l'API o l'ABI è cambiata in modi imprevisti, dove icheck.manifest è una copia di
l'interfaccia prevista, inclusa nel pacchetto.

Nota che gli argomenti per --compare sono essi stessi file C validi che sono preelaborati,
quindi icheck.manifest può contenere la logica del preprocessore C. Questo può essere utile quando un pacchetto
esporta interfacce diverse a seconda dell'architettura host. In questo caso non puoi
sostituiscilo con una nuova copia di icheck.canonical quando l'interfaccia cambia e devi
aggiornare il manifesto. Invece di aggiornare l'intero manifest manualmente, metti la mano-
descrizioni dell'interfaccia scritte in un file (icheck.static-manifest) e quindi utilizzare:

verifico --canonizzare --linea di base debian/icheck.static-manifest -o debian/icheck.dynamic-
manifesto

Infine, crea icheck.manifest contenente:
#include "icheck.static-manifest"
#include "icheck.dynamic-manifest"
Ciò consente di aggiornare manualmente alcune parti del manifest, mentre è ancora automaticamente
generando il resto.

USCITA


icheck genera una descrizione dettagliata di ogni possibile modifica API o ABI, in base al tipo
informazione. Non esamina il codice del programma effettivo, quindi è possibile che
alcune modifiche di tipo rilevate non sono effettive modifiche ABI o API. Tuttavia, questo normalmente
accade solo quando il codice del programma è stato scritto esplicitamente per esso. In caso di dubbio, supponi che sia
cambiato.

Alla fine, icheck fornisce un riepilogo delle modifiche. Nota che le indicazioni qui sono
dipende dall'ordine degli argomenti da --compare: l'interfaccia più vecchia deve venire prima,
o le direzioni saranno il contrario. I significati dei vari termini sono come
segue:

ABI L'ABI è compatibile se le cose compilate contro una versione del
l'interfaccia funzionerà se eseguita utilizzando l'altra versione.

API L'API è compatibile se le cose sono compilate con una versione del
l'interfaccia può essere compilata contro l'altra.

compatibile in avanti
Un'interfaccia è compatibile con le versioni successive se le cose vengono compilate rispetto al vecchio
la versione funzionerà con la nuova. Questa è la caratteristica importante per sonome
modifiche.

compatibile con versioni precedenti
Un'interfaccia è retrocompatibile se le cose vengono compilate con il nuovo
la versione funzionerà con la vecchia. Questa è la caratteristica importante per shlib
versione i cambiamenti. Se non stai creando pacchetti Debian, probabilmente non lo fai
preoccuparsi delle modifiche che non sono compatibili con le versioni precedenti.

Usa icheck online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo è un codec di immagine JPEG
    che utilizza istruzioni SIMD (MMX, SSE2,
    NEON, AltiVec) per accelerare la linea di base
    Compressione e decompressione JPEG attiva
    x86, x8...
    Scarica libjpeg-turbo
  • 2
    Xtreme Download Manager
    Xtreme Download Manager
    Il progetto ha ora una nuova casa:
    https://xtremedownloadmanager.com/ For
    sviluppatori:
    https://github.com/subhra74/xdm Xtreme
    Download Manager è un potente strumento per...
    Scarica Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Caratteristiche:4:3 e 16:9 a bassa risoluzione
    Uscita VGATastiera e mouse PS/2
    interfaccia utente basata su inputText (TUI)
    con dialog manager Partial Unicode
    supportoSlave dis...
    Scarica TTGO VGA32 Lite
  • 4
    Bootloader EFI Clover
    Bootloader EFI Clover
    Il progetto si è spostato in
    https://github.com/CloverHackyColor/CloverBootloader..
    Caratteristiche: Avvia macOS, Windows e Linux
    in modalità UEFI o legacy su Mac o PC con
    UE...
    Scarica il bootloader Clover EFI
  • 5
    rpm uniti
    rpm uniti
    Unisciti a noi in Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Abilita il repository URPMS nel tuo
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Scarica unitedrpms
  • 6
    Potenzia le librerie C++
    Potenzia le librerie C++
    Boost fornisce portatile gratuito
    librerie C++ sottoposte a revisione paritaria. Il
    l'accento è posto sulle librerie portatili che
    funzionano bene con la libreria standard C++.
    Vedi http://www.bo...
    Scarica le librerie Boost C++
  • Di Più "

Comandi Linux

Ad