1. 程式人生 > >Linux下閱讀源代碼工具安裝

Linux下閱讀源代碼工具安裝

查看 vim fine 工具安裝 下載源 fir 源碼安裝 ihe efi

綜合他們多篇博客,做一個自己的總結(從0開始,記錄過程)

系統:ubuntu 16.04 vim:7.4.1689

內容來源:

https://www.cnblogs.com/wangzhe1635/p/9025711.html

https://blog.csdn.net/niepangu/article/details/52888116

https://blog.csdn.net/limanjihe/article/details/49994247

關於 ctags、cscope、taglist這個三個工具的安裝和使用。

一.ctags

1.安裝(apt-get或下載源碼)

命令安裝:
    $ sudo apt-get install ctags
源碼安裝:
    下載:https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags-5.8.tar.gz

    或官網http://ctags.sourceforge.net/中查找需要的版本。 $ ./configure $ make $ make install
上述任選1裝完成之後查看版本:$ ctags --version

我使用apt-get安裝版本如下:

技術分享圖片

使用:

1.進入源代碼目錄,命令行輸入如下命令,會在當前目錄下產生一個新的文件tags。
    $ ctags -R  (定位標記對象)(-R”表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。“”表示所有文件。)
2.基本使用方法:
    $ vi –t function_name (命令行輸入後可直接跳轉到函數位置)
    在vim打開的文件中跳轉(命令模式):
    :tag func_name  (跳到函數func_name位置,然後Tab鍵匹配查找,上下切換)
       :ts  (tags list  查看所有函數名為xx的定義位置)
       :tp (tags preview)
       :tn (tags next)
    :tag (查看指定函數的多個定義)
    :tnext  (跳到第一個定義處,優先跳轉到當前文件)
    :tfirst   (跳到第一個)
    :[count]tprevious  (跳到前count個)
    :[count]tnext  (跳到後count個)
    :tlast  (跳到最後一個)
    :tselect tagname  (你也可以在所有tagname中選擇)
    :tag / (然後按Tab來選擇跳轉標簽)
    :tselect /^write_   (匹配查找以write開頭的所有定義或變量,$表示末尾,^表示開頭。第二個參數可替換成任意內容)
    光標放在函數上:
       Ctrl + ]   從調用位置可以跳轉到函數的定義處
    CTRL + T   跳到上一層,可連續跳轉。
       Ctrl + o 或者 Ctrl + t     回到初始位置

補充:

“$ ctags –R ”:“-R”表示遞歸創建,也就包括源代碼根目錄(當前目錄)下的所有子目錄。“”表示所有文件。這條命令會在當前目錄下產生一個“tags”文件,當用戶在當前目錄中運行vi時,會自動載入此tags文件。

Tags文件中包括這些對象的列表:

用#define定義的宏
枚舉型變量的值
函數的定義、原型和聲明
名字空間(namespace)
類型定義(typedefs)
變量(包括定義和聲明)
類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
類、結構和聯合中成員變量或函數
VIM用這個“tags”文件來定位上面這些做了標記的對象。

二.cscope

命令安裝:
    $ sudo apt-get install cscope
源碼安裝:
    官網:http://sourceforge.net/projects/cscope/files/

使用方法:

在終端下,切換到源碼所在目錄後,輸入命令:cscope -Rbkq

參數意義:R 表示把所有子目錄裏的文件建立索引

b 表示僅建立符號數據庫,不啟動自帶的用戶界面

k 表示在生成索引時,不搜索/usr/include/目錄

q 表示生成cscope.in.out 和 cscope.po.out文件,加快cscope的索引速度

完成後將在當前目錄生成這麽幾個文件:cscope.in.out 、cscope.po.out 和 cscope.out

Linux下閱讀源代碼工具安裝