- 论坛徽章:
- 0
|
决定不要太懒,无事的时候还是阅读一下开源的代码,提高提高自己。看C代码,最佳首选自然是vim+ctags了。
领略了多年的linux shell的强大和好处后,就算在windows下也习惯装个cygwin去工作。这样,创建tags就很简单了。在代码根目录下,例如~/src/linux-2.6.23.1/,执行
ctags --c-types=+p+x -R
即可生成完美的tags,然后在vim下
:set tags=~/src/linux-2.6.23.1/tags
就可以使用这个tags了。独立于cygwin安装的gvim下则是形如:
:set tags=I:\src\linux-2.6.23.1\tags
把这些命令写入到vimrc里面就作为默认的tags路径。用即可访问相关变量、函数的定义,并用返回。如果在GUI环境,如果set mouse=a, 还可以使用g快速跳转到tags中第一个对应的代码定义,用g返回。
很多人都喜欢在多个地方创建tags,例如/usr/include、/usr/src/linux等,然后
:set tags=~/src/linux-2.6.23.1/tags,/usr/include/tags
这时要查找某个函数的定义时在指定的tags中可能会有多处定义,默认是跳到找到的第一个,如果用g,则可以输出函数定义的列表,通过输入数字选择其中的一个,如果只有一个,则直接跳转。于是可以
map g
此外,在linux下也可以通过apache+perl+lxr通过web来阅读源代码,只需要配置lxr.conf设定代码目录和tags的数据库目录,并把lxr的perl脚本相关目录扔或者alias到apache的htdocs下面,最后执行类似以下命令就可以通过浏览器访问了。
这个地址
就使用了lxr提供linux内核源代码在线阅读服务。
genxref /usr/src/linux-2.6.23.1/
在windows下曾经尝试用VC Express创建一个项目来读linux的源码,这个东西在读规模小点的代码还是很好用,拿来看linux-0.11或者linux-1.0等小麻雀很不错。但是像2.6.x这样的庞然大物,生成的数据库响应之慢和占用的内存之大慢的不是一般人能承受的……另外还可以用source insight创建工程来管理源代码的阅读,但是偶实在讨厌si那特别花哨复杂的界面,还是我们家vim简约强大……
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/24174/showart_422472.html |
|