Feed on
Posts
Comments

Tag Archive 'soft'

PC-lint

早在《C专家编程》一书中就听说过lint程序,但是一直没有用过,今天看一篇有关C的文章,这个名字再次出现在我的眼前,于是下载了一个破解版玩了下,而且还测试了下我以前写的代码,发现bug多多呀!
PC-lint for C/C++是由Gimpel软件公司于1985年开发的代码静态分析工具,它能有效地发现程序语法错误、潜在的错误隐患、不合理的编程习惯等。
C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint能识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误,这样消除错误的成本更低。使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。
在vs2005下配置如下:
准备工作当然是下载并安装PC-lint(有需要可以找我,我用的是最新版8.00w),例如:安装目录为C:\Program Files\pclint\,该目录下肯定有一个子目录lnt,里面存放了很多*.lnt文件,它们是语法配置规则,发现bug就是根据这些的文件来的。
在lnt目录下新建两个文件:std.lnt和options.lnt,std.lnt文件的内容如下:
au-sm.lnt
co-msc80.lnt
lib-mfc.lnt
lib-stl.lnt
lib-w32.lnt
lib-wnt.lnt
lib-atl.lnt
options.lnt -si4 -sp4

-i”C:\Program Files\Microsoft Visual Studio 8\VC\include”
-i”C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include”
-i”C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include”
-i”C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include”
而options.lnt文件可以为空。
配置vs2005方法:工具->外部工具,点击“添加”,新建一个外部工具。标题可以任意,如取(pc_lint);命令为:D:\Program Files\pclint\LINT-NT.EXE;    参数为:-i”C:\Program Files\pclint” std.lnt “$(ItemFileName)$(ItemExt)”;初始目录为:$(ItemDir),并将下面的“使用输出窗口”勾选上。
接下来,你就可以这个pc_lint工具测试你以前写的代码了!!如果你的程序有bug,pc_lint会报告在输出窗口中。

Read Full Post »