Rumah  >  Artikel  >  Tutorial sistem  >  Gunakan ctags dan cscope untuk membaca kod sumber dalam talian: Tutorial TheLinuxCrossReferencer

Gunakan ctags dan cscope untuk membaca kod sumber dalam talian: Tutorial TheLinuxCrossReferencer

WBOY
WBOYke hadapan
2024-01-26 22:51:22550semak imbas

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

linux 内核代码阅读工具_linux内核代码是什么语言_linux内核源码在线阅读

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!

Kenyataan:
Artikel ini dikembalikan pada:itcool.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam