免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 865 | 回复: 0
打印 上一主题 下一主题

建立源代码阅读环境 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-14 23:11 |只看该作者 |倒序浏览
决定不要太懒,无事的时候还是阅读一下开源的代码,提高提高自己。看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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP