ctagslinux
『壹』 如何查詢linux內核函數
如果要看這兩個函數在標准庫中的定義用ctags或cscope生成索引.h,cscope,可以跳轉到函數定義,man malloc,聲明見stdlib。
如果仍然找不到,可以用ctags,si或grep。
windows下用source insight也可,然後查找函數定義,用grep -r 搜索關鍵字,atoi和malloc在C的標准庫中有定義。
1.安裝ctags
在源代碼目錄下運行
ctags -R
這樣,會遞歸生成當前目錄下及其子目錄的tags文件。
2.使用VIM根據tags文件查找函數或結構定義。
1.在源碼目錄下查找
vi -t tagname
2.如果要在任意位置使用,則需要把該tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代碼中實時跟蹤,則游標移動到函數名上,使用CTRL+]鍵,按CTRL+t可以返回。
如果要跟蹤系統函數,使用shift+K可以自動跳轉道游標所在函數的手冊。
『貳』 怎麼在linux中查看庫函數源代碼
linux中查看庫函數源代碼,需要自己手動下載一個gnu libc源代碼庫。然後在裡面查,可以使用vim建立個ctags,然後及時定位到相應的函數即可。
『叄』 linux下怎樣用ctags查看內核源碼
ctags(Generate tag files for source code)是vim下方便代碼閱讀的工具。盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。並且VIM中已經默認安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。
ctags能夠定位如下內容:
1)用#define定義的宏
2)枚舉型變數的值
3)函數的定義、原型和聲明
4)名字空間(namespace)
5)類型定義(typedefs)
6)變數(包括定義和聲明)
7)類(class)、結構(struct)、枚舉類型(enum)和聯合(union)
8)類、結構和聯合中成員變數或函數
安裝ctags,如果是RedHat,則直接使用yum命令安裝:在指定的源碼位置生成tags文件,並且我們添加很多參數來完善ctags的功能(為了體現其功能的強大,我用它來生成linux源碼的tags文件):
然後我們查看tags內容就可以發現,原來tags就是linux內核代碼中各個元素的索引,這也就是ctags結合vim可以快速進行定位的原因了(查詢就是通過這個文件內容來定位的):