核心學習第一步:查看源碼Vim+Cscope

來源:互聯網
上載者:User

本文參照Linux核心修鍊之道編寫,作者為任橋偉。

Vim就不用多說了,大家都在用。Cscope看軟體名字就知道C+scope,本身設計出來就是為了瀏覽c的代碼的。通過Cscope可以知道諸如某個函數的定義、那些函數調用了它、它調用了那些函數等等。是在控制台學習Linux源碼不可缺少的有力工具。你可以通過閱讀Vim中文協助手冊來瞭解:help if_cscop.txt。

1.      安裝Cscope

從http://cscope.sourceforge.net下載然後編譯安裝

2.      產生Cscope的資料庫

進入你需要查看的源碼的根目錄,比如你要查看的是Linux核心源碼,位於/usr/src/linux下,那麼使用以下命令產生Cscope資料庫檔案

cd /usr/src/linuxcscope –Rbq

R表示把所有子目錄裡的檔案也建立索引;b表示cscope不啟動內建的使用者介面,而僅僅建立符號資料庫;q表示產生cscope.in.out和cscope.po.out檔案,加快cscope的索引速度。

以上命令會產生三個檔案:cscope.in.out cscope.out cscope.po.out

3.      將Cscope資料庫檔案匯入Vim

vim:cs add /usr/src/linux/cscope.out /usr/src/linux

4.      Cscope的使用方法

你可以通過閱讀Vim的線上文檔詳細瞭解 :help if_cscop.txt 。我簡單的解釋一下最常用的find命令:

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

S: 尋找本C代碼符號

g: 尋找本定義

d: 尋找本函數調用的函數

c: 尋找調用本函數的函數

t: 尋找本字串

e: 尋找本egrep模式

f: 尋找本檔案

i: 尋找包含本檔案的檔案

例如尋找main函數的定義

:cs find g main

都知道vim支援縮寫命令格式,你可以使用:cs f g main來代替

註:cscope有跟ctags相似的快速鍵,使用Ctrl+j講跳到游標所在的變數或者函數的定義處,ctrl+T返回。

5.      配置Vim,加速Cscope的使用

首先你要對Vim配置有個初步的瞭解,請參看此文打造你自己的vim--如何配置vim

你用vim開啟你個人根目錄下的vim設定檔

username@ubuntu:~$ vim /home/username/.vimrc

添加如下內容:

if filereadable("cscope.out")    cs add cscope.outelseif $CSCOPE_DB != ""    cs add $CSCOPE_DBendifset nusyntax onset tabstop=4set autoindentset matchtime=1set hlsearchset cindentset shiftwidth=4set rulerset showmode

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.