EnglishFrenchSpanyol

Ad


Favicon OnWorks

icheck - Dalam talian di Awan

Jalankan icheck dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan icheck yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


icheck - pemeriksa ABI/API antara muka C

SINOPSIS


semak --menghalalkan [[--garis dasar FAIL] ...] [PILIHAN] [GCC_OPTIONS] [--] fail

semak --bandingkan [PILIHAN] fail_lama fail_baru

DESCRIPTION


Alat untuk menyemak antara muka C secara statik untuk perubahan API dan ABI. Semua perubahan untuk menaip
pengisytiharan yang boleh menyebabkan perubahan ABI harus dikesan, bersama-sama dengan kebanyakan perubahan API.

icheck bertujuan untuk digunakan dengan perpustakaan, sebagai kaedah mencegah hanyut ABI.

PERINTAH


Kurangkan satu set fail sumber kepada fail antara muka kanonik dengan --canonify, kemudian bandingkan
dua fail antara muka sedemikian dengan --compare. Jika terdapat perubahan antara muka antara mereka,
icheck akan menerangkan perubahan dan gagal.

--menghalalkan [[--garis dasar FAIL] ...] [PILIHAN] [GCC_OPTIONS] [--] fail

Canonify fail kod sumber (biasanya pengepala .h) untuk dibandingkan kemudian
--bandingkan. Biasanya digunakan dengan -o pilihan untuk menyimpan ringkasan ke fail.

--bandingkan [PILIHAN] fail_lama fail_baru

Membaca dua fail antara muka kanonik yang dijana dengan --menghalalkan dan membandingkan
struktur kod sumber kepada perubahan dalam Antara Muka Awam Aplikasi
(antara muka pembangun atau API) dan Antara Muka Binari Aplikasi (ABI) digunakan untuk
pautan dengan program atau perpustakaan lain.

PILIHAN


ICHECK PILIHAN
-o, --pengeluaran FAIL

Pancarkan output ke FILE, bukannya stdout.

--nyahpepijat N

Buang maklumat penyahpepijatan.

--sahaja PERKARA

Hanya memproses PERKARA yang diberikan.

--langkau-dari FAIL

Langkau perkara yang tidak perlu daripada FAIL.

--langkau-dari-semula regexp

Langkau perkara yang tidak perlu daripada fail yang sepadan dengan ungkapan biasa.

--hanya-daripada FAIL

Hanya mengambil sesuatu daripada FAIL.

--hanya-dari-semula regexp

Hanya ambil perkara daripada fail yang sepadan dengan ungkapan biasa.

GCC_OPTIONS

GCC_OPTIONS dihantar ke gcc -E

BANTU PILIHAN
- membantu
Paparkan sinopsis bantuan untuk semak.

CONTOH


Semua fail sumber dipraproses dengan gcc, jadi canonify memerlukan maklumat yang sama
sebagai kod sumber - ikut sintaks daripada Makefile untuk memasukkan -I pilihan untuk cpp (Atau
gcc) supaya semua pengepala yang diperlukan boleh didapati. semak akan menggugurkan kandungan jika perlu
pengepala tidak dapat ditemui. Sumber mesti boleh disusun; icheck tidak boleh memproses fail yang
tidak boleh disusun secara langsung. Jika pengepala tiada #include statement, atau sebaliknya
memerlukan digunakan dengan cara yang istimewa, maka ia tidak boleh diproses secara langsung dengan icheck.
Sebaliknya, tulis fail stub C yang menetapkan perkara dengan sewajarnya dan kemudian #includes the
kepala.

semak --menghalalkan -o ~/icheck/oldversion -I/usr/include/foo-2.0 /usr/src/bar/src/foobar.h

Sediakan ringkasan teks fail foobar.h dan semua fail yang disertakan. Ringkasannya ialah
ditulis kepada ~/icheck/oldversion. Ulangi untuk /usr/src/bar1/src/foobar.h - fail yang sama
dalam direktori sumber yang lebih baharu, mengeluarkan ke fail baharu, cth ~/icheck/versi baharu.

semak --bandingkan -o ~/icheck/results.txt ~/icheck/oldversion ~/icheck/versi baharu

Menulis laporan perbandingan dua fail ringkasan. Laporan itu menunjukkan semua
perubahan dalam ABI dan/atau API yang ditemui semasa perbandingan.

semak --menghalalkan -o debian/icheck.canonical -Idebian/foo-dev/usr/include debian/foo-
dev/usr/include/foobar.h

semak --bandingkan debian/icheck.manifest debian/icheck.canonical

Kedua-dua pernyataan ini, termasuk dalam a debian/peraturan fail, akan menyebabkan pakej dibina
gagal jika API atau ABI telah berubah dalam cara yang tidak dijangka, dengan icheck.manifest ialah salinan
antara muka yang dijangkakan, termasuk dalam pakej.

Ambil perhatian bahawa argumen untuk --compare adalah fail C yang sah yang telah dipraproses,
jadi icheck.manifest boleh mengandungi logik prapemproses C. Ini boleh berguna apabila pakej
mengeksport antara muka yang berbeza bergantung pada seni bina hos. Dalam kes ini, anda tidak boleh
gantikannya dengan salinan baru icheck.canonical apabila antara muka berubah dan anda perlu
kemas kini manifes. Daripada mengemas kini keseluruhan manifes dengan tangan, letakkan tangan-
penerangan antara muka bertulis dalam satu fail (icheck.static-manifest) dan kemudian gunakan:

semak --menghalalkan --garis dasar debian/icheck.static-manifest -o debian/icheck.dynamic-
nyata

Akhir sekali, buat icheck.manifest yang mengandungi:
#include "icheck.static-manifest"
#include "icheck.dynamic-manifest"
Ini membolehkan anda mengemas kini beberapa bahagian manifes dengan tangan, sementara masih secara automatik
menjana selebihnya.

OUTPUT


icheck menjana penerangan panjang tentang setiap kemungkinan perubahan API atau ABI, berdasarkan jenis
maklumat. Ia tidak menyiasat kod atur cara yang sebenar, jadi mungkin begitu
beberapa jenis perubahan yang dikesan bukan perubahan ABI atau API sebenar. Walau bagaimanapun, ini biasanya
hanya berlaku apabila kod program ditulis secara eksplisit untuknya. Jika ragu-ragu, anggap saja
berubah.

Pada akhirnya, icheck menyediakan ringkasan perubahan. Ambil perhatian bahawa arahan di sini adalah
bergantung pada susunan hujah untuk --compare: antara muka yang lebih lama mesti didahulukan,
atau arahnya akan sebaliknya. Maksud pelbagai istilah adalah sebagai
ikut:

ABI ABI adalah serasi jika perkara-perkara yang disusun terhadap satu versi
antara muka akan berfungsi apabila dijalankan menggunakan versi lain.

API API adalah serasi jika perkara disusun terhadap satu versi
antara muka boleh disusun terhadap yang lain.

serasi ke hadapan
Antara muka adalah serasi ke hadapan jika perkara dikompilasi terhadap yang lama
versi akan berfungsi dengan yang baharu. Ini adalah ciri penting untuk soname
perubahan.

serasi ke belakang
Antara muka adalah serasi ke belakang jika perkara dikompilasi terhadap yang baharu
versi akan berfungsi dengan yang lama. Ini adalah ciri penting untuk shlibs
versi perubahan. Jika anda tidak membina pakej Debian, anda mungkin tidak
mengambil berat tentang perubahan yang tidak serasi ke belakang.

Gunakan icheck dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad