InggrisPerancisSpanyol

Ad


favorit OnWorks

icheck - Online di Cloud

Jalankan icheck di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah icheck yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


icheck - C antarmuka ABI/API pemeriksa

RINGKASAN


memeriksa --kanonifikasi [[--dasar FILE] ...] [PILIHAN] [GCC_OPTIONS] [-] arsip

memeriksa --membandingkan [PILIHAN] file_lama file baru

DESKRIPSI


Alat untuk memeriksa antarmuka C secara statis untuk perubahan API dan ABI. Semua perubahan pada tipe
deklarasi yang dapat menyebabkan perubahan ABI harus dideteksi, bersama dengan sebagian besar perubahan API.

icheck dimaksudkan untuk digunakan dengan perpustakaan, sebagai metode untuk mencegah penyimpangan ABI.

PERINTAH


Kurangi satu set file sumber menjadi file antarmuka kanonik dengan --canonify, lalu bandingkan
dua file antarmuka seperti itu dengan --compare. Jika ada perubahan antarmuka di antara mereka,
icheck akan menjelaskan perubahan dan gagal.

--kanonifikasi [[--dasar FILE] ...] [PILIHAN] [GCC_OPTIONS] [-] arsip

Kanonifikasi file kode sumber (biasanya .h header) untuk dibandingkan nanti dengan
--membandingkan. Biasanya digunakan dengan -o pilihan untuk menyimpan ringkasan ke file.

--membandingkan [PILIHAN] file_lama file baru

Membaca dua file antarmuka kanonik yang dihasilkan dengan --kanonifikasi dan membandingkan
struktur kode sumber dengan perubahan di Antarmuka Publik Aplikasi
(antarmuka pengembang atau API) dan Antarmuka Biner Aplikasi (ABI) yang digunakan untuk
link terhadap program atau perpustakaan lain.

PILIHAN


PERIKSA PILIHAN
-o, --keluaran FILE

Keluarkan output ke FILE, bukan stdout.

--debug N

Buang informasi debug.

--hanya BENDA

Hanya memproses HAL yang diberikan.

--lewati-dari FILE

Lewati hal-hal yang tidak perlu dari FILE.

--lewati-dari-ulang regexp

Lewati hal-hal yang tidak perlu dari file yang cocok dengan ekspresi reguler.

--hanya-dari FILE

Hanya mengambil barang dari FILE.

--hanya-dari-re regexp

Hanya ambil sesuatu dari file yang cocok dengan ekspresi reguler.

GCC_OPTIONS

GCC_OPTIONS diteruskan ke gcc -E

MEMBANTU PILIHAN
--membantu
Tampilkan sinopsis bantuan untuk memeriksa.

CONTOH


Semua file sumber telah diproses sebelumnya dengan gcc, jadi canonify membutuhkan informasi penyertaan yang sama
sebagai kode sumber - ikuti sintaks dari Makefile untuk menyertakan opsi -I untuk cpp (Atau
gcc) sehingga semua header yang diperlukan dapat ditemukan. memeriksa akan dibatalkan jika diperlukan
header tidak dapat ditemukan. Sumber harus dapat dikompilasi; icheck tidak dapat memproses file yang
tidak dapat langsung dikompilasi. Jika header tidak ada #include pernyataan, atau sebaliknya
membutuhkan digunakan dengan cara khusus, maka tidak dapat langsung diproses dengan icheck.
Sebagai gantinya, tulis file rintisan C yang mengatur semuanya dengan tepat dan kemudian #termasuk
tajuk.

memeriksa --kanonifikasi -o ~/icheck/versi lama -Saya/usr/sertakan/foo-2.0 /usr/src/bar/src/foobar.h

Siapkan ringkasan teks dari file foobar.h dan semua file yang disertakan. Ringkasannya adalah
ditulis untuk ~/icheck/versi lama. Ulangi untuk /usr/src/bar1/src/foobar.h - file yang sama
di direktori sumber yang lebih baru, menghasilkan file baru, mis ~/icheck/versi baru.

memeriksa --membandingkan -o ~/icheck/results.txt ~/icheck/versi lama ~/icheck/versi baru

Menulis laporan perbandingan dua file ringkasan. Laporan tersebut menunjukkan semua
perubahan ABI dan/atau API yang ditemukan selama perbandingan.

memeriksa --kanonifikasi -o debian/icheck.canonical -Idebian/foo-dev/usr/include debian/foo-
dev/usr/include/foobar.h

memeriksa --membandingkan debian/icheck.manifest debian/icheck.canonical

Kedua pernyataan ini, termasuk dalam a debian/aturan file, akan menyebabkan paket build menjadi
gagal jika API atau ABI telah berubah dengan cara yang tidak terduga, di mana icheck.manifest adalah salinan dari
antarmuka yang diharapkan, termasuk dalam paket.

Perhatikan bahwa argumen ke --compare sendiri adalah file C yang valid yang telah diproses sebelumnya,
jadi icheck.manifest dapat berisi logika C preprocessor. Ini bisa berguna ketika sebuah paket
mengekspor antarmuka yang berbeda tergantung pada arsitektur host. Dalam hal ini, Anda tidak bisa
ganti dengan salinan baru icheck.canonical saat antarmuka berubah dan Anda perlu
memperbarui manifes. Daripada memperbarui seluruh manifes dengan tangan, letakkan
deskripsi antarmuka tertulis dalam satu file (icheck.statis-manifest) dan kemudian gunakan:

memeriksa --kanonifikasi --dasar debian/icheck.statis-manifest -o debian/icheck.dinamis-
nyata

Terakhir, buat icheck.manifest yang berisi:
#sertakan "icheck.static-manifest"
#sertakan "icheck.dynamic-manifest"
Ini memungkinkan Anda memperbarui beberapa bagian manifes dengan tangan, sementara masih secara otomatis
menghasilkan sisanya.

KELUARAN


icheck menghasilkan deskripsi panjang lebar tentang setiap kemungkinan perubahan API atau ABI, berdasarkan jenis
informasi. Itu tidak menyelidiki kode program yang sebenarnya, jadi mungkin saja
beberapa jenis perubahan yang dideteksinya bukanlah perubahan ABI atau API yang sebenarnya. Namun, ini biasanya
hanya terjadi ketika kode program secara eksplisit ditulis untuk itu. Jika ragu, anggap itu
berubah.

Pada akhirnya, icheck memberikan ringkasan perubahan. Perhatikan bahwa petunjuk di sini adalah
tergantung pada urutan argumen ke --compare: antarmuka yang lebih lama harus didahulukan,
atau arahnya akan sebaliknya. Arti dari berbagai istilah tersebut adalah sebagai
berikut:

ABI ABI kompatibel jika hal-hal dikompilasi terhadap satu versi dari
antarmuka akan berfungsi saat dijalankan menggunakan versi lain.

API API kompatibel jika hal-hal dikompilasi terhadap satu versi dari
antarmuka dapat dikompilasi terhadap yang lain.

kompatibel ke depan
Antarmuka kompatibel ke depan jika ada yang dikompilasi dengan yang lama
versi akan bekerja dengan yang baru. Ini adalah fitur penting untuk nama panggilan
perubahan.

kompatibel ke belakang
Antarmuka kompatibel ke belakang jika ada yang dikompilasi dengan yang baru
versi akan bekerja dengan yang lama. Ini adalah fitur penting untuk shlib
versi perubahan. Jika Anda tidak membangun paket Debian, Anda mungkin tidak melakukannya
peduli tentang perubahan yang tidak kompatibel ke belakang.

Gunakan icheck online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad