内核学习第一步:查看源码Vim+Cscope

本文参照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/linux cscope –Rbq

以上命令会生成三个文件: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来代替

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

首先你要对Vim配置有个初步的了解,请参看此文打造你自己的vim--如何配置vim

你用vim打开你个人根目录下的vim配置文件

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

添加如下内容:

if filereadable("cscope.out") cs add cscope.out elseif $CSCOPE_DB != "" cs add $CSCOPE_DB endif set nu syntax on set tabstop=4 set autoindent set matchtime=1 set hlsearch set cindent set shiftwidth=4 set ruler set showmode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值