一、安裝Cscope 軟件
點擊此處下載Cscope軟件。
tar -jxvf cscope-15.7a.tar.bz2
cd cscope-15.7a
./configure
make
sudo make install
安裝過程出現的問題:
1.出現`flex' is missing on your system:sudo apt-get install flex
2.出現yacc: 未找到命令:sudo apt-get install byacc
3.出現“curses.h not found”之類的錯誤:sudo apt-get libncurses-dev
--------------------------分割線--------------------------
1:按照vim裡cscope的參考手冊(在vim中執行”:help cscope”命令),把cscope功能加到.vimrc裡後(需要你的vim在編譯時選擇了”–enable-cscope”選項,否則你需要重新編譯vim),配置就算完成了。然後用下面的命令生成代碼的符號索引文件;
2: 到相應的內核源碼目錄下;
3:cscope -Rbkq
這個命令會生成三個文件:cscope.out, cscope.in.out, cscope.po.out。
其中cscope.out是基本的符號索引,後兩個文件是使用”-q”選項生成的,可以加快cscope的索引速度。
上面所用到的命令參數,含義如下:
-R: 在生成索引文件時,搜索子目錄樹中的代碼
-b: 只生成索引文件,不進入cscope的界面
-k: 在生成索引文件時,不搜索/usr/include目錄
-q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
接下來,就可以在vim裡讀代碼了。
不過在使用過程中,發現無法找到C++的類、函數定義、調用關系。仔細閱讀了cscope的手冊後發現原來cscope在產生索引文件時,只搜索類型為C, lex和yacc的文件(後綴名為.c, .h, .l, .y),C++的文件根本沒有生成索引。不過按照手冊上的說明,cscope支持c++和Java語言的文件。
於是按照cscope手冊上提供的方法,先產生一個文件列表,然後讓cscope為這個列表中的每個文件都生成索引。
為了方便使用,編寫了下面的腳本來更新cscope和ctags的索引文件:
#!/bin/sh
find . -name "*.h" -o -name "*.c"-o -name "*.cc" > cscope.files
cscope -bkq -i cscope.files
ctags -R
二、安裝Ctags軟件
ctags:
(1)安裝
http://ctags.sourceforge.net/
Ubuntu下可以使用apt-get來安裝:
sudo apt-get install ctags
更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2