Rumah > Artikel > Tutorial sistem > Gunakan ctags dan cscope untuk membaca kod sumber dalam talian: Tutorial TheLinuxCrossReferencer
Dimajukan kepada:
Mohon ke sistem ubuntu.
Apabila terdapat sambungan Internet, adalah berbesar hati untuk menggunakan LXR (TheLinuxCrossReferencer) untuk membaca kod sumber dalam talian. Apabila tiada rangkaian, alat membaca kod kernel linuxubuntu linux, ia menjadi agak berat hati untuk hanya memasukkan kod sumber kernel melalui vim dan carian. Seterusnya, artikel ini akan memperkenalkan alat untuk mencari kod sumber dengan cepat: ctags dan cscope. Melalui tutorial standard Linux editor vim dan dua alatan di atas, anda boleh mencari kod sumber yang anda ingin lihat dengan cepat. Baiklah, mari mulakan!
1 Muat turun pakej sumber kernel terkini dan nyahzipnya ke direktori utama
Langkah seterusnya sebenarnya boleh dilakukan dalam direktori kod sumber kernel sistem semasa, tetapi demi insurans, sebaiknya buat direktori khas untuk menyimpan kod sumber dalam direktori rumah. Direktori kod sumber yang disebut di bawah semuanya merujuk kepada direktori kod sumber di bawah direktori rumah.
2.Pasang ctags
Gunakan arahan: sudoapt-getinstallctags
3.Pasang cscope
Gunakan arahan: sudoapt-getinstallcscope
4. Ke dalam fail tag
Gunakan perintah maketags dalam direktori sumber (anda juga boleh menggunakan: ctags-R) untuk menjana fail tag
5. Hasilkan fail indeks
Jalankan arahan makecscope dalam direktori sumber (anda juga boleh menggunakan: cscope-indexer-r) untuk menjana fail indeks.
6 Eksport fail indeks ke vim
Gunakan arahan untuk membuka fail konfigurasi vim: sudogedit/etc/vim/vimrc kemudian tambah kod berikut di bawah fail:
iffilereadable("cscope.out")
csaddcscope.out
endif
Dengan cara ini anda boleh menggunakan cscope terus setiap kali anda membuka vim.
Selepas melengkapkan langkah di atas, anda boleh mencari kod sumber dengan cepat melalui vim. Ctags dan cscope yang dipasang di atas ialah kedua-dua alat pengindeksan kod sumber, jadi tidak mengapa untuk memasang hanya satu daripada ketiga-tiganya. Ya, walaupun ctags boleh mencari teg yang dimasukkan dengan cepat, cscope lebih fleksibel dalam penggunaannya. Oleh itu, lebih mudah untuk memasang dan menggunakan kedua-duanya pada masa yang sama. Di bawah adalah beberapa kaedah penggunaan mudah untuk rujukan sahaja.
1. Gunakan ctags
Penggunaan ctags adalah sangat mudah Pertama, masukkan direktori kod sumber, buka editor vim, masukkan: tagtag_name dalam mod arahan dan tekan Enter. Secara amnya, tag_name boleh menjadi nama struktur, nama fungsi, nama pembolehubah makro, dsb. Secara amnya, selepas memasukkan arahan di atas, kerana tag yang ditemui bukan unik, anda perlu menggunakan arahan berikut bersama-sama:
tfirst: lompat ke yang pertama
seterusnya: Langkau ke seterusnya
last: lompat ke yang terakhir
2. Guna cscope
Walaupun ctags mudah dan pantas digunakan, kadangkala ia lebih fleksibel untuk menggunakan cscope Alat membaca kod kernel Linux, mula-mula anda boleh melihat fail bantuan cscope:
Petikan
cscope arahan:
tambah: Tambah pangkalan data baharu (penggunaan: addfile|dir[pre-path][flags])
cari: Tanya corak (penggunaan: findc|d|e|f|g|i|s|tname)
c: Cari fungsi yang memanggil fungsi ini
d: Cari fungsi yang dipanggil oleh fungsi ini
e: Cari corak egrep ini
f: Terjumpa folder ini
g: Cari definisi ini
i: Cari fail #Sertakan fail ini
s: Cari simbol C ini
t: Cari parameter rasminya
bantuan: paparkan maklumat ini (penggunaan: bantuan)
kill: tamatkan sambungan (penggunaan: kill#)
set semula: set semula semua sambungan (penggunaan: set semula)
tunjukkan: paparan sambungan (penggunaan: tunjukkan)
Melalui fail bantuan sebelumnya, anda boleh mendapati bahawa jika anda ingin mencari kod definisi fungsi request_irq, anda boleh menggunakan arahan ini: csfindgrequest_irq untuk mencari. Dalam kebanyakan kes, hasil carian tidak unik kerana anda perlu terus melihat melalui fail pengepala dalam berbilang hasil.
Secara amnya, fail pengepala terletak secara kasar melalui cscope, dan kemudian secara terperinci terletak dalam fail pengepala melalui ctags. Walaupun kedua-dua alat ini tidak terhad kepada penggunaan di atas, lebih banyak penggunaan boleh diterokai secara beransur-ansur melalui penggunaan yang mendalam, dan kesannya akan menjadi lebih baik apabila digabungkan dengan ungkapan biasa.
Atas ialah kandungan terperinci Gunakan ctags dan cscope untuk membaca kod sumber dalam talian: Tutorial TheLinuxCrossReferencer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!