一步一步學cscope

2021-04-13 22:40:16 字數 2078 閱讀 9386

告之:

1, 我不喜歡寫部落格--因為感覺太浪費時間

2,部落格能記住自己某階段學過的東西,而這些東西可能會很快的忘卻--所以我以後要學著在部落格上浪費時間

前言:本文件記錄了我今天<2007-11-9>下午學習cscope的一點收穫,特收錄部落格以作分享。在學習cscope過程中查閱了大量的文件,但發現適合我的很少<我:對cscope沒有一點概念>。所以也感覺到寫這文章的必要性,以和與自己處境相似的朋友們分享一點經驗,希望能減少一些學習的時間。當然,由於時間有限<僅一下午>所以對很多cscope功能沒有實踐,我最大的希望能把這文件當成乙個入門級的東東,能帶著更多的人使用cscope.

如果你能通過搜尋來到這裡,證明,我就權當你已知道cscope是做什麼用的。今天我不準備寫這些東東,以後可能新增。

我的平台:linux suse 10.1 硬體平台普通

1, cscope安裝

軟體安裝: 

./configure --with-flex  (注:如果平台是linux,最好帶上 --with-flex選項)

make  (注:我沒有遇到錯誤)

make install (注: 直接安裝好了)

2,cscope配置

修改vim配置檔案vimrc.你可以修改/etc/vimrc使用所有使用者都使用本配置檔案,當然你還可以修改~/.vimrc

把cscope_map.vim裡從 if has("cscope")  到 endif裡邊的內容複製到/etc/vimrc裡邊去

裡邊的命令意思請看下邊文章

3,cscope使用

建立cscope使用的索引檔案

在你需要瀏覽原始碼的根目錄下(如你想用cscope看linux原始碼)使用下面命令:

r 表示把所有子目錄裡的檔案也建立索引

b 表示cscope不啟動自帶的使用者介面,而僅僅建立符號資料庫

q生成cscope.in.out和cscope.po.out檔案,加快cscope的索引速度

k在生成索引檔案時,不搜尋/usr/include目錄

在原始碼根目錄下開啟任意.c檔案,使用如下命令:

ctrl+]將跳到游標所在變數或函式的定義處 ctrl+t返回

:cs find s ---- 查詢c語言符號,即查詢函式名、巨集、列舉值等出現的地方

:cs find g ---- 查詢函式、巨集、列舉等定義的位置,類似ctags所提供的功能

:cs find d ---- 查詢本函式呼叫的函式

:cs find c ---- 查詢呼叫本函式的函式

:cs find t: ---- 查詢指定的字串

:cs find e ---- 查詢egrep模式,相當於egrep功能,但查詢速度快多了

:cs find f ---- 查詢並開啟檔案,類似vim的find功能

:cs find i ---- 查詢包含本檔案的文

2的所以命令也可以且按銉來實現:

ctrl+/ 再按 s 表示:cs find s命令

同理實現cs find + g,d,c,t,e,f,i命令

cscope_map.vim說明:

有英文注釋的我就不說明了,我就說一下裡邊的鍵map對映

如: nmap s :cs find s =expand("")

nmap 表示在vim的普通模式下,即相對於:編輯模組和可視模式,以下是幾種模式

:map            普通,可視模式及操作符等待模式

:vmap           可視模式

:omap           操作符等待模式

:map!           插入和命令列模式

:imap           插入模式

:cmap           命令列模式

表示:ctrl+/

s表示輸入(即按:s)s

: 表示輸入':'

「cs find s"表示輸入"cs find s"也即是要輸入的命令

=expand("cword")總體是為了得到:游標下的變數或函式。cword 表示:cursor word, 類似的還有:cfile表示游標所在處的檔名吧

<cr><cr>就是回車吧,不太清楚

其它的特補充吧。。今天就寫到這裡。

一步一步學Linq to sql

一步一步學linq to sql 一 預備知識 一步一步學linq to sql 二 datacontext與實體 一步一步學linq to sql 三 增刪改 一步一步學linq to sql 四 查詢句法 一步一步學linq to sql 五 儲存過程 一步一步學linq to sql 六 特性...

一步一步學RenderMonkey

rendermonkey的基本使用方法 用rendermonkey 進行shader開發 一 用rendermonkey 進行shader開發 二 rendermonkey製作photoshop特效 前言 rendermonkey作為shader開發利器而為人所熟知,我們可以專心於shader的編寫...

一步一步學jQuery 四

這篇部落格,總結jquery對dom的基本操作。1.回顧dom d代表document,o代表object,m代表model。即文件上的元素或者文字。操作的物件也即元素或文件。2.設定元素及內容 input val 男 女 程式設計 多個表單元素,選中狀態 3.元素屬性操作 function box...