EngelsFransSpaans

OnWorks-favicon

icheck - Online in de Cloud

Voer icheck uit in de gratis hostingprovider OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht icheck die kan worden uitgevoerd in de gratis hostingprovider OnWorks met behulp van een van onze verschillende gratis online werkstations, zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


icheck - C-interface ABI/API-controleur

KORTE INHOUD


Ik check --canonificeren [[--basislijn FILE] ...] [OPTIES] [GCC_OPTIES] [--] bestanden

Ik check --vergelijken [OPTIES] oud_bestand nieuw bestand

PRODUCTBESCHRIJVING


Een tool voor het statisch controleren van C-interfaces op API- en ABI-wijzigingen. Alle wijzigingen aan type
Declaraties die ABI-wijzigingen kunnen veroorzaken, moeten worden gedetecteerd, samen met de meeste API-wijzigingen.

icheck is bedoeld voor gebruik met bibliotheken, als een methode om ABI-drift te voorkomen.

COMMANDO'S


Reduceer een set bronbestanden tot een canoniek interfacebestand met --canonify en vergelijk vervolgens
twee dergelijke interfacebestanden met --compare. Als er interfacewijzigingen tussen hen zijn,
icheck beschrijft de wijzigingen en mislukt.

--canonificeren [[--basislijn FILE] ...] [OPTIES] [GCC_OPTIES] [--] bestanden

Canoniseer de broncodebestanden (meestal .h-headers) om ze later te kunnen vergelijken met
--vergelijken. Meestal gebruikt met de -o optie om de samenvatting in een bestand op te slaan.

--vergelijken [OPTIES] oud_bestand nieuw bestand

Leest twee canonieke interfacebestanden die zijn gegenereerd met --canonificeren en vergelijkt de
structuur van de broncode naar de wijzigingen in de openbare interface van de toepassing
(de ontwikkelaarsinterface of API) en de Application Binary Interface (ABI) die wordt gebruikt om
koppeling met andere programma's of bibliotheken.

OPTIES


CHEQUE OPTIES
-o, --uitvoer FILE

Geef de uitvoer door aan FILE in plaats van aan stdout.

--debuggen N

Foutopsporingsinformatie dumpen.

--enkel en alleen DING

Verwerk alleen het gegeven DING.

--overslaan-vanaf FILE

Sla onnodige dingen over FILE.

--overslaan-van-opnieuw regexp

Sla onnodige zaken over uit bestanden die voldoen aan de reguliere expressie.

--alleen-van FILE

Neem alleen dingen mee van FILE.

--alleen-van-re regexp

Haal alleen gegevens uit bestanden die voldoen aan de reguliere expressie.

GCC_OPTIES

GCC_OPTIONS worden doorgegeven aan gcc -E

KLANTENSERVICE OPTIES
--help
Geef de help-synopsis weer voor Ik check.

Voorbeelden


Alle bronbestanden zijn voorbewerkt met gcc, dus canonify heeft dezelfde include-informatie nodig
als de broncode - volg de syntaxis van de Makefile om -I-opties op te nemen cpp (of
gcc) zodat alle benodigde headers gevonden kunnen worden. Ik check zal indien nodig worden afgebroken
headers kunnen niet worden gevonden. De bron moet compileerbaar zijn; icheck kan geen bestanden verwerken die
kan niet direct worden gecompileerd. Als een header ontbreekt #include statements, of anders
Als een account op een speciale manier moet worden gebruikt, kan deze niet rechtstreeks met icheck worden verwerkt.
Schrijf in plaats daarvan een stub C-bestand dat alles op de juiste manier instelt en vervolgens #includes de
header.

Ik check --canonificeren -o ~/icheck/oudeversie -I/usr/include/foo-2.0 /usr/bron/bar/bron/foobar.h

Maak een tekstuele samenvatting van het foobar.h-bestand en alle bestanden die het bevat. De samenvatting is
uitgeschreven naar ~/icheck/oudeversie. Herhaal voor /usr/src/bar1/src/foobar.h - hetzelfde bestand
in de nieuwere bronmap, uitvoer naar een nieuw bestand, bijvoorbeeld ~/icheck/nieuweversie.

Ik check --vergelijken -o ~/icheck/resultaten.txt ~/icheck/oudeversie ~/icheck/nieuweversie

Schrijft het rapport van de vergelijking van de twee samenvattingsbestanden. Het rapport geeft alle
wijzigingen in de ABI en/of API die tijdens de vergelijking zijn gevonden.

Ik check --canonificeren -o debian/icheck.canoniek -Idebian/foo-dev/usr/include debian/foo-
dev/usr/include/foobar.h

Ik check --vergelijken debian/icheck.manifest debian/icheck.canoniek

Deze twee verklaringen, opgenomen in een debian/regels bestand, zal ervoor zorgen dat het pakket wordt gebouwd
mislukken als de API of ABI op onverwachte manieren is gewijzigd, waarbij icheck.manifest een kopie is van
de verwachte interface, inbegrepen in het pakket.

Houd er rekening mee dat de argumenten voor --compare zelf geldige C-bestanden zijn die vooraf zijn verwerkt,
dus icheck.manifest kan C preprocessor logica bevatten. Dit kan handig zijn wanneer een pakket
exporteert verschillende interfaces afhankelijk van de hostarchitectuur. In dit geval kunt u niet
vervang het door een nieuwe kopie van icheck.canonical wanneer de interface verandert en u dit nodig hebt
update het manifest. In plaats van het hele manifest handmatig te updaten, zet de hand-
geschreven interfacebeschrijvingen in één bestand (icheck.statisch-manifest) en gebruik dan:

Ik check --canonificeren --basislijn debian/icheck.statisch-manifest -o debian/icheck.dynamic-
manifesteren

Maak ten slotte icheck.manifest aan met het volgende:
#include "icheck.statisch-manifest"
#include "icheck.dynamic-manifest"
Hiermee kunt u sommige delen van het manifest handmatig bijwerken, terwijl het nog steeds automatisch gebeurt
de rest genereren.

OUTPUT


icheck genereert een uitgebreide beschrijving van elke mogelijke API- of ABI-wijziging, op basis van type
informatie. Het onderzoekt niet de werkelijke programmacode, en dus is het mogelijk dat
sommige typewijzigingen die het detecteert zijn geen echte ABI- of API-wijzigingen. Dit is echter normaal gesproken
gebeurt alleen als de programmacode er expliciet voor is geschreven. Als u twijfelt, neem dan aan dat het
gewijzigd.

Aan het einde geeft icheck een samenvatting van de wijzigingen. Let op: de instructies hier zijn
afhankelijk van de volgorde van de argumenten voor --compare: de oudere interface moet eerst komen,
of de richtingen zullen andersom zijn. De betekenissen van de verschillende termen zijn als volgt
volgt:

ABI De ABI is compatibel als zaken worden gecompileerd tegen één versie van de
interface zal werken wanneer deze met de andere versie wordt uitgevoerd.

API De API is compatibel als dingen worden gecompileerd tegen één versie van de
interface kan tegen de andere worden gecompileerd.

voorwaarts compatibel
Een interface is voorwaarts compatibel als zaken worden gecompileerd tegen de oude
versie zal werken met de nieuwe. Dit is de belangrijke functie voor soortnaam
veranderingen.

achterwaarts compatibel
Een interface is achterwaarts compatibel als zaken worden gecompileerd tegen de nieuwe
versie zal werken met de oude. Dit is de belangrijke functie voor shlibs
versie wijzigingen. Als u geen Debian-pakketten bouwt, doet u dat waarschijnlijk niet
maken zich geen zorgen over wijzigingen die niet achterwaarts compatibel zijn.

Gebruik icheck online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad