日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux下编译cscope,vim+ctags+cscope 常用技巧和命令

發布時間:2025/3/15 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下编译cscope,vim+ctags+cscope 常用技巧和命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先聲明,本文不適用于初學者!

1 編譯ctags需要的文件

#make ARCH=x86 tags

ARCH=x86 的意思是除了索引指定的x86體系結構的代碼外,不索引其他體系結構的想關代碼

2 編譯cscope需要的文件

#make ARCH=x86 cscope

3 在vim中用ctags瀏覽

ts do_fork ?等同于光標停在do_fork上,再按CTRL + ]

tn ? ? ? ? ?下一個(next)

tp ? ? ? ? ?上一個(previous)

tf ? ? ? ? ?第一個(first)

tl ? ? ? ? ?最后一個(last)

4 在vim中用cscope瀏覽

cs add cscope.out ? ? ? ?#添加一個 connection,瀏覽內核時經常發現 cscope 鏈接斷開

可以調用:cs a cscope.out

:cs show ? ? ? ? ? ? ? ? ?#顯示所有 connections

:cs kill ? ? ? ? ? ? ?#殺死第#號 connection,第#號就是:cs show 顯示出來的

:cs reset ? ? ? ? ? ? ? ? #reset 所有 connections

:cs find c|d|e|f|g|i|s|t

解釋:

c ? 查找 name 被哪些函數調用

d ? 查找 name 調用了哪些函數

e ? egrep 句型

f ? 查找名為 name 的文件

g ? 查找 name 的定義

i ? 查找#include 本 name 的文件

s ? 查找 name 這個 C 符號

t ? 查找何處對 name 賦值

對 Linux 內核來說,如果既有 tags 文件,又有 cscope.out 文件,則 Vim 中:set cst

意味著使用 cscope 風格的^],也就是:tag 命令。 于是:

如果想用 ctags 找到 do_IRQ:

:ts do_IRQ

如果想用 cscope 找到 do_IRQ:

:ta do_IRQ

5 CTRL + T 返回上一步的操作處

最后給大家推薦一些內核相關的經典圖書:

入門推薦: LKD2 - 《Linux 內核設計與實現-第 2 版》

從入門開始,介紹了諸如中斷、系統調用、虛擬文件系統、同步與互斥、

內存管理、進程控制等方面,內容比較淺顯易懂,是入門的好書。

優點: 適合入門 (個人認為,沒有比 LKD2 更優秀的內核入門圖書)

缺點: 內容不夠深入,覆蓋面不廣。(對高手來說估計就像休閑材料)

3.1 ULK3 - 深入理解 Linux 內核-3rd

一本很全面的 Linux 內核原理書。 書中以 2.6.11 為示例版本,著重講述了

x86 平臺的 Linux 內核實現。

優點: 深入,全面

缺點: N/A

我覺得看完 ULK3 就是高手了:) ? ?而且由于書中著重介紹了 X86 體系結構,也稱得

上半個 x86 專家了。

3.2 《Linux 內核源代碼情景分析》

以 2.4.0 為例講解,注重代碼級別的剖析,對中斷、內存管理、文件系統、

SMP、PCI 和 USB、IPC 的講解都是代碼級別的深入細致。

優點: 深入

缺點: 針對的內核版本較舊,且每個「情景」都很長,不容易堅持讀完。

FYI : 新手不要從《情景分析》開始學習內核,這樣只會增長你的學習周期。

3.3 LDD3 - Linux 設備驅動程序-3rd

LDD3 寫的很精彩。 但如果要學會寫具體的驅動程序,還是得參照硬件的

datasheet,讀一個內核中現成的驅動程序。

FYI : 內核中自帶的驅動程序 skeleton:

drivers/net/pci-skeleton.c 和 drivers/usb/usb-skeleton.c,分別是為 PCI/USB

驅動程序員提供的參考代碼。

3.4 現代體系結構上的 Unix 系統 - 內核程序員的 SMP 和

Caching 技術

這本書著重講解各種體系結構上的 Unix 實現注意事項,e.g. SMP 的同步與互斥、

Cache 一致性問題。

優點: 作者知識面非常廣,原理講得很清楚。

缺點: 94 年的書,比較舊

3.5 Intel & AMD CPU 參考手冊

最好帶著問題有針對性的去讀 Intel & AMD 的手冊。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Linux下编译cscope,vim+ctags+cscope 常用技巧和命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。