Note 1. 建立一个学习环境

很早就有阅读Linux源代码的想法了,只是一直没有任何行动。这其中也有几个原因吧。

其一就是当初学校里开设的那门linux的选修课没选上,于是就错过了一个强迫自己接触linux的机会。那时候也想过自学,只是那时候为了装个linux就搞了半天,而且有时候常常到最后才用了没几次,就出问题了,而且都不知道怎么解决,于是,就放弃了。

其二就是读代码的环境。当初并不知道(也许那时候还没有?)SourceInsight这种工具的存在。而且想想那时候接触的代码量也不大,于是,就觉得没有头绪。后来知道了这个东东,就开始有阅读Linux源代码的冲动了。不过这个冲动被扼杀的原因在于Windows下的文件名不区分大小写,于是乎,下载下来的Linux源代码包,解压开就老是报有重复的文件,作为一个完美主义者,这个感觉很不好,总觉得会错过些什么。

现在终于下决心好好学习、天天向上了。(好好学习生活?天天向上躺着?呵呵)

由于学习习惯的问题,有时候还是喜欢记一些东西下来,所以就在这个Blog上开了这块分类,这篇东西么,就算一篇序吧,呵呵。

在开始学习之前,有一个好的环境是很重要的。就像前面说的,SourceInsight虽好,但只能在windows下用,而windows的致命弱点就是不区分大小写文件名。所以可以得出结论,读Linux源代码么,最好还是在Linux下面。

文件名的问题是解决了,但是似乎没有称手的兵器了。于是,就开始了寻找兵器的过程。

想当年孙大圣为求得一把称手的兵器,也是花费了一番功夫的。呵呵,扯远了。言归正传,还是说说我寻找兵器的过程吧。

最初在Google上以"linux sourceinsight"作为关键词搜索,结果看到了几篇帖子说CScope + VIM或者Emaces是一个不错的类似的环境。于是就想先尝试这个。可是发现配置VIM和Emaces比较麻烦,关键也是自己没有Linux下的经验,没时间去研究这个了,想快点找到称手的兵器,所以就放弃了这条路。

接下去要先说说Debian了。一直听说Debian是一个很好的Linux的发行版本,而且是非商业的。真的用了才知道它的好用。特别是那下面的apt-get命令,安装软件真是方便,大多数常用的软件都有debian的发行版本了。所以,这种全自动安装过程真是爽。至于为什么要提到它,就是因为我在那下面装cscope的时候,看到了apt的提示,说建议安装cbrowser。于是先在Google上搜了一把,发现这个东西貌似不错的样子,属于cscope的前端图形界面。所以,第二个兵器就是这个了。

CBrowser这个东东呢,的确是好用的。不过我最终还是没有选择它,主要是不习惯。这东东虽说是cscope的前端图形界面,但是建立交叉索引的数据库还是需要cscope命令行的方式。另外,这个cbrowser用起来不习惯,因为它没有文件选择界面。用过sourceinsight的都知道,那里面有一个可以选择文件的界面,直接浏览点击就行。可cbrowser下似乎得记得文件名的大概,然后通过搜索才能得到,这点比较麻烦……

放弃了上面两套方案后,又开始了寻寻觅觅的过程。结果就找到了一个叫Source Navigator的东东。

这东西是Red Hat做的,名字和介绍看上去都不错,于是就拿来用。结果发现了这东西的一个致命弱点,就是它的速度太慢,而且生成的数据库文件太大了。比如我对linux 2.4.18的源代码建一个Source Navigator的project,结果那些数据库文件占掉了硬盘将近2G的容量…… 所以,只能放弃。

在接下去就是传说中的lxr了。全名叫“Linux Cross-Reference”。看论坛上的人说似乎很好的样子,仔细搜索了一下,发现是一个基于web的东东。就是利用apache的web服务,再加上它的那些perl脚本,并且对源代码目录树做一个数据库,然后就以web方式可以访问了。只是,这东东配置起来有点麻烦,我按照说明配置了一个,可是有些索引功能还是没配好,而且这东西是基于web方式的,没有做语法着色,所以看起来也不是很舒服。

后来,终于找到了一个似乎比较称手的东东了——KScope。看名字就知道,这东东与CScope肯定有一腿。网上搜了一下,果然,又是一个CScope的前端图形界面,这东西是For KDE的,所以就叫KScope了。这东西没有debian的安装包,所以得自己下源代码然后configure->make->make install了。这个过程中虽然不大爽,常常遇到问题,不过最终都解决了,这东西跑起来了。

用了一下,觉得是不错,至少很像SourceInsight了,这点对于我这个已经习惯于windows下生活的人已经算是很不错了。

关于Debian的安装(包括其中常用软件的安装)以及KScope的安装,下次再写吧,今天还有好多别的事情要做呢,忙忙碌碌阿。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值