Linux源码阅读

本学期boss讲授Linux内核,准备跟着进度入门一下。首先说下参考书。

主要参考书:

Linux内核设计与实现 Robert Love

深入理解Linux内核

个人觉得还可以结合看下Professional Linux Kernel Architecture(by Wolfgang Mauerer)

深入那本是针对2.6.11版本源码,后一本是针对2.6.24版本,而情景分析针对2.4版本,暂时先放一放(这本关于Boot这块分析很详细)。而对于一些数据结构及其算法可结合算法导论认真学习。


这篇introduction性质的笔记主要介绍一下windows及Linux平台下阅读源码的两个常用软件。SourceInsight & (vim + cscope + tags)


一、SourceInsight

安装步骤网络上有很多图文并茂的教程,在此就不多说。以下记录几个常用快捷键。
1、按住"ctrl", 再用鼠标指向某个变量,点击进入这个变量的定义
2、选上"view --> draft view",让每个字符的宽度一致,快捷键是 "Alt + F12"
3、"shift+F8" 标亮所有文本中光标所在位置的单词
4、跳到某一行:"ctrl + g"

5. alt+up/down 上下移动一行浏览



二、vim + cscope + tags

1. 软件安装(ubuntu)
sudo apt-get install cscope
安装ctags: http://ctags.sourceforge.net/,然后ctags -version查看当前ctags的版本是否是emacs的。
若安装了emacs就必须使用上面这个地址的ctags,vim不支持emacs的ctags,所以要下载安装这个ctags,下载之后在源文件所在目录运行
./configure,make,生成ctags文件,将这个文件保存到“/usr/bin/”目录下。
2. 生成索引文件
make cscope
make tags
ls tags -l, ls cscope.* -l
3. 一般源文件中生成索引文件
编写如下脚本

---------------------------------------------------------------------------------
#!/bin/sh
find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files
cscope -bkq -i cscope.files
ctags -R

---------------------------------------------------------------------------------
4. 在VIM使用cscope查找
在源代码目录下打开vim,加载cscope.out文件,在vim命令行下执行:
:cs add cscope.out
vim命令行下执行:
:cs help
例:查找do_fork函数定义 :cs f g do_fork
5. 在VIM中使用tags查找符号
:tag xxx
6. 其它命令
ctrl+]:在函数调用的地方跳转到函数定义的地方
ctrl+t:返回上一个查找的地方
7. 特别注意
所生成的cscope.out和tags文件要在打开VIM所在的文件夹,否则VIM无法找到相关符号信息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值