使用vim ctags cscope閱讀核心原始碼

2021-06-08 21:12:45 字數 2076 閱讀 2707

接下來的步驟當然可以在當前系統核心原始碼目錄下進行,不過為了保險期間還是最好在主目錄下專門建立乙個存放原始碼的目錄。下文所說的原始碼目錄均指主目錄下的原始碼目錄。

2.安裝ctags

使用命令:sudo apt-get install ctags

3.安裝cscope

使用命令:sudo apt-get install cscope

4.成標籤檔案

在原始碼目錄下通過命令make tags生成標籤檔案

5.生成索引檔案

在原始碼目錄下通過命令make cscope生成索引檔案。

6.將索引檔案匯入vim中

使用命令開啟vim的配置檔案:sudo gedit /etc/vim/vimrc;然後在該檔案下新增如下**:

1iffilereadable("cscope.out")

2cs add cscope.out

3endif

這樣每次開啟vim就可以直接使用cscope了。

完成以上步驟以後就可以通過vim進行原始碼的快速定位了。上述安裝的ctags和cscope都屬於原始碼索引工具,因此僅安裝兩者之一也是可以的。不錯,雖然ctags可以快速定位所輸入的標籤,但cscope的使用方法則更靈活。所以兩者同時安裝使用起來更方便。下面是一些簡單的使用方法,僅供參考。

1.使用ctags

ctags的使用特別簡單,首先進入原始碼目錄下,開啟vim編輯器,在命令模式下輸入:tag tag_name 按回車即可。通常tag_name可以是結構體名稱,函式名稱,巨集變數名稱等。通常輸入上述命令後,因為找到的標籤並不唯一,所以還需要配合使用下述命令:

tfirst:跳至第乙個

tlast:跳至最後乙個

2.使用cscope

雖然ctags使用方便快捷,但有時候使用cscope更靈活,首先可以看cscope的幫助檔案:

01cscope 命令:

02add  :新增乙個新的資料庫             (用法: add file|dir [pre-path] [flags])

03find :查詢乙個模式                   (用法: find c|d|e|f|g|i|s|t name)

04c:找到呼叫這個函式的函式

05d:找到被這個函式呼叫的函式

06e:找到這個 egrep 模式

07f:找到此資料夾

08g:找到這個定義

09i:找檔案 #包括這個檔案

10s:找到這個 c 符號

11t:找到對其的賦值

12help :顯示此資訊                     (用法: help)

13kill :結束乙個連線                   (用法: kill #)

14reset:重置所有連線                   (用法: reset)

15show :顯示連線                       (用法: show)

通常是先通過cscope大致定位到頭檔案,再通過ctags在該標頭檔案中詳細定位。其實這兩種工具並不侷限於上述用法,更多用法可以再深入使用的過程中慢慢摸索,而且配合正規表示式等效果會更好。

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...

學習使用CSDN markdown使用

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...