常见源码搜索网站介绍及如何嵌入到免费工具VcSmith中使用

多年来我养成一个习惯,每开发一个新功能之前,都尽可能先了解业界是否有人做过类似的工作,如果已经有软件能提供类似功能,我会尝试查阅它的用户手册,看别人是怎么做的。如果遇到某项较通用的功能,会先找几个源码搜索网站,用几个典型的关键词,比如API函数名,或者为实现某功能最有可能的函数命名,先海搜一通。如果你要开发的东西恰巧有人做过了,而且源代码都是现成的,当然会狂喜一番,因为无论是借鉴,移植,还原样照搬,都让你大幅度节约开发时间。

本文先介绍几个知名源码搜索网站,然后介绍如何将代码搜索功能集成到免费C/C++集成开发环境VcSmith或专业白盒测试工具VcTester中,让日常调测更加方便。

常用的源码搜索网站有:

1.         Kodershttp://www.koders.com/

使用起来比较方便,源代码库也较丰富,支持源代码的语言比较多,而且支持项目和授权协议搜索和过滤。

2.         Google Codeshttp://www.google.com/codesearch

搜索大佬搞的东西,不服不行,秉承Google一向简洁实用的风格。搜索能力很强,支持用正则表达式,支持在某语言、某文件、某包中搜索,也支持按许可协议搜索。

3.         Kruglehttp://www.krugle.com/

支持源码语言比较全面,可指定搜索范围,如注释、文档、函数定义、类定义等,还可搜索技术文档、开源项目。

4.         Oreilly Codehttp://labs.oreilly.com/code/

如果经常看Oreilly的图书,那么这个搜索对你会非常有用,可以在将近700Oreilly出版的图书中搜索123,000多个示例代码,往往书籍中的示例代码其实都比较规范和高效,是学习编程的好途径之一。

5.         gotAPIhttp://start.gotapi.com/

侧重于Internet编程方面的源码搜索,支持包括HTML, CSS, CSS2, Javascript, ActionScript,Google code, XML, XSL, XPath, XSD, PHP, Ruby, Python,Perl, AS, ColdFusion, C, C++, MySQL, PostgreSQL, oracle, Java等在内的众多编程语言。

6.         Codasehttp://www.codase.com/

适合搜索C/C++的开源代码,可以通过函数名、类名等搜索。

VcSmithVcTester都使用CseWin.exe作为它们的用户界面,将代码搜索功能集成到VcSmith的方法与集成到VcTester完全相同,集成代码搜索后可方便用户随时查阅。比如在Koders网站以"XmlEncode"为关键词进行搜索,显示页面如下:

Koder Search

我们希望在VcSmith的集成界面,选中一段代码,然后按一个快捷键(比如Shift+F3),立即弹出上述窗口。待集成的操作命令如下:

%IeAppFile% http://www.koders.com/default.aspx?s="%CseCurrText%"

其中“%IeAppFile%”是CSE的系统变量,指示IE浏览器的应用程序,“%CseCurrText%”是当前编辑区当前选中的文本。在Option对话框的UserTool页添加如下图扩展命令:

Add Koder Search

用户也可以添加如下命令使每次搜索都先弹出对话框,允许用户手工调整搜索单词,运行命令如下:

%IeAppFile% http://www.koders.com/default.aspx?s="%?+CseCurrText%"

其中“%?+CseCurrText”用来指示每次命令执行前,弹出对话框让用户修改“%CseCurrText%”的取值。

修改输入变量

VcSmith V3.1.3以后以版本,用户从PDB导入工程配置时,上述两种Koders代码搜索命令已自动集成进来,缺省指定的快捷键分别为“Shift+F3”与“Shift+F4”。

类似的,可以用如下两个命令集成Google代码搜索:

%IeAppFile% http://www.google.com/codesearch?q="%CseCurrText%"

%IeAppFile% http://www.google.com/codesearch?q="%?+CseCurrText%"

如下命令集成krugle代码搜索:

%IeAppFile% http://www.krugle.org/kse/files?query="%CseCurrText%"

%IeAppFile% http://www.krugle.org/kse/files?query="%?+CseCurrText%"

VcSmith集成其它源码搜索可以类推,本文不赘述。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值