Maxiee的Vim入门日记(5)——用Vim看aMule代码

通过前两天忙忙活活地配置Vim,Maxiee感觉很有趣味,看着一个工具慢慢按照自己地期望变得强大、顺手,让人很有成就感呢!
但是工具终归只能是工具,为了配置而配置是没有意义的,工具还是要充分利用起来,发挥出效力,这才是最重要的。于是Maxiee就拿出aMule这个经典的电驴开源软件,一边学代码,一边学Vim的实际使用。
 
aMule的官网是: amule.org ,不过不幸的是,这个网站已经挂了……
不过sourceforge上还有代码的备份: http://sourceforge.net/projects/amule/
Maxiee选择了 aMule-2.3.1.tar.bz2 这个版本,也就是当前的最新版本了~
 
下载并解压好代码,我们就可以进入aMule的项目中了,代码位于/src,我们可以看到代码超多:

 
在上一篇 Maxiee的Vim入门日记(4)——安装windows下的Cscope 里,Maxiee安装了Cscope这个插件,据说是看代码神器,所以按照上一篇中的方式,要先将代码标记一下。
 
标记好后,Maxiee就迫不及待地打开Vim,装载代码啦!
首先打开amule.h这个文件,Maxiee觉得这个文件包含了我们需要的信息:

 
Maxiee发现,这个程序使用了wxWidget库来编写GUI图形界面,要是Qt的就好了哈。
 
在108行,Maxiee看到了CamuleAppCommon这个类,按照它的注释,这是amule,aamuled和amulegui的基类。

 
在网上查找资料,可以得知,aMule采用一套代码,可以编译出功能不同的多个软件:
  • amule(伺服器/用户端)- aMule 的桌面程式
  • amuled(伺服器)- 后台程序,可配合 amulecmd 或 amulegui 使用
  • amulegui(用户端)- 在图形介面下使用
在上图中,我们可以看到有wxSingleInstanceChecker这样一个类型,这是wxWidget库中的类型,Maxiee立刻想到cscope可以告诉我,程序中都在哪里使用了它,可以用来演练一下Cscope使用方法:
光标移到上面,【ctrl】+\然后再按s(下前下前拳……),Cscope会聪明地显示:

 
可以看出,第77行是一个前向声明,113行是我们当前所在,第90行就位于类的实现了,我们看到90行和381行都有,但是是位于不同的方法中,6是在InitCommon方法里,这个显然更能引起我们的兴趣,按6,回车,我们就跳了过去!

 
Maxiee看出,376行添加一段Log,而从382行开始,都是在调用wxSingleInstanceChecker中的方法,进行逻辑判断,看看还有没有第二个aMule在运行。
 
按下【ctrl】+t ,我们就回到amule.h中的声明处了!
 
当然啦,Maxiee装了这么多插件,还有很多功能等待Maxiee来挖掘,但是就目前掌握的这些来说,已经很强大了,Maxiee会一边学习、一边使用,先去看代码去啦,等Maixee有更多体会时,会再跟大家分享O(∩_∩)O~~
 
总之前几天设置的Vim是可以使用了~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值