Feed on
Posts
Comments

PC-lint

早在《C专家编程》一书中就听说过lint程序,但是一直没有用过,今天看一篇有关C的文章,这个名字再次出现在我的眼前,于是下载了一个破解版玩了下,而且还测试了下我以前写的代码,发现bug多多呀!

PC-lint for C/C++是由Gimpel软件公司于1985年开发的代码静态分析工具,它能有效地发现程序语法错误、潜在的错误隐患、不合理的编程习惯等。

C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint能识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针,冗余的代码,等等。软件除错是软件项目开发成本和延误的主要因素。PClint能够帮你在程序动态测试之前发现编码错误,这样消除错误的成本更低。使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。并提供编码规则检查,规范软件人员的编码行为。

在vs2005下配置如下:

准备工作当然是下载并安装PC-lint(有需要可以找我Wink,我用的是最新版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会报告在输出窗口中。

46 条评论

  • At 2008.06.25 14:04, xo said:

    我也想看看,xoxo90@163.com

    • At 2008.07.18 10:01, lizhonghua said:

      老大顺手发我一份谢谢了。wolfgang.mt@163.com

      • At 2008.07.31 13:40, witty said:

        最近要用到pc-lint呢,还能麻烦发一份给我啊,谢谢

        • At 2008.07.31 13:40, witty said:
          • At 2008.08.09 17:22, tanguo said:

            能不能给我发一份pc-lint的安装文件,谢谢 tangg@centecnetworks.com

            • At 2008.08.16 18:07, ly said:

              能不能给我发一份pc-lint的安装文件,谢谢 uestcwujie@hotmail.com

              • At 2008.08.19 08:52, frank said:

                能否给我发一份,谢谢

                • At 2008.08.19 08:53, frank said:

                  能否给我发一份,谢谢frank-xxl@163.net

                  • At 2008.08.20 09:45, carle said:

                    能否给我发一份,谢谢carle.li@yahoo.com

                    • At 2008.08.25 11:23, wanglehui said:

                      你好,能不能给我发一份?我的邮箱是wanglehui@sia.cn,谢谢!

                      • At 2008.08.26 13:26, yeying said:

                        能否给我发一份,谢谢. 272827056@qq.com

                        • At 2008.09.07 18:06, yangyinde said:

                          能发给我一份吗?yd198ppp@yahoo.com.cn 谢谢了!

                          • At 2008.09.12 15:54, Taii said:

                            能给我发一份吗?谢谢。itaoer@gmail.com

                            • At 2008.09.18 10:36, lala said:

                              麻烦老大发一份:Yixiong.feng@gmail.com 感谢!

                              • At 2008.09.19 11:11, xiaohu said:

                                我们公司正在让我进行代码的静态代码的检测。麻烦你帮帮忙给我发一个吧。谢谢了

                                • At 2008.09.19 11:12, xiaohu said:

                                  我们公司正在让我进行代码的静态代码的检测。麻烦你帮帮忙给我发一个吧。谢谢了。邮箱是:xiaohu062@163.com

                                  • At 2008.09.25 17:57, PClint said:

                                    flashmodem@163.com 老大给我也发一份,谢谢

                                    • At 2008.09.30 04:35, himan said:

                                      你好,可以给我发个pc-lint吗???
                                      mybestc@163.com

                                      • At 2008.10.08 17:47, ew said:

                                        我的邮箱lhj200304@163.com能不能发一份,谢谢了

                                        • At 2008.10.08 23:21, simon said:

                                          你好,可以发份给我吗?

                                          • At 2008.10.24 16:42, smalk said:

                                            能否给我发一份lint安装程序啊,谢谢!huangxiaoke_2000@126.com

                                            • At 2008.10.31 09:47, small said:

                                              能否发一份pc-lint 8.00w。谢谢啊。 robinzsy@yahoo.com.cn

                                              • At 2008.11.06 01:08, rrerre said:

                                                发一个,谢谢!找了很久了。
                                                最近一直在找静态分析工具。
                                                找到一个版本只支持vc++6.x的,不行。

                                                • At 2008.11.10 10:29, andrewpei said:

                                                  能发个给我吗,楼主?
                                                  我的电邮是sclzpjm@163.com

                                                  • At 2008.11.14 08:15, jeff said:

                                                    正在四处找这个东东,能否给我也来一份: jeff.xmpp@gmail.com

                                                    • At 2008.11.18 00:11, moo said:

                                                      到处找不到,麻烦给我个,谢谢。moowoo@21cn.com

                                                      • At 2008.12.08 10:47, grace said:

                                                        能否发一份pc-lint 8.00w。谢谢!!! gehl4080@163.com

                                                        • At 2008.12.15 10:13, Leo said:

                                                          找了好久了, 能否发一份给我: yuhu_han@126.com 非常感谢!!!

                                                          • At 2008.12.25 09:43, pltf said:

                                                            我自己升级到8.00x了,但那个新版的config.exe到处都找不到,可否发一份给我?chpl1629@126.com

                                                            • At 2008.12.25 13:21, yuchuan said:

                                                              楼主,发给我一份好吧,我需要啊!
                                                              yuchuan07@163.com

                                                              • At 2009.02.05 10:31, xwindy said:

                                                                老大,请给我发一份吧,谢谢了!

                                                                • At 2009.02.24 14:19, 毕元锋 said:

                                                                  能给我发一个么?谢谢了。。。

                                                                  • At 2009.02.24 14:21, 毕元锋 said:

                                                                    能给我发送一个么?谢谢了。。。

                                                                    • At 2009.03.02 16:14, pcyan said:

                                                                      给我也发一份吧,谢谢!
                                                                      yanpengchao@163.com

                                                                      • At 2009.03.12 23:41, zhongbin said:

                                                                        请发一个PC_lint学习一下,不胜感激!

                                                                        • At 2009.04.07 11:01, albert said:

                                                                          请给我发一个吧。谢谢。

                                                                          • At 2009.04.07 11:02, albert said:

                                                                            老大请给我发一个吧!

                                                                            • At 2009.04.14 13:17, vinson said:

                                                                              老大请给我发一个吧!!!

                                                                              • At 2009.04.14 13:18, vinson said:

                                                                                老大请给我发一个吧!

                                                                                • At 2009.06.13 11:38, djh said:

                                                                                  发我一个,谢谢!
                                                                                  dengjinfong@yahoo.com.cn

                                                                                  • At 2009.07.08 10:49, SHDL said:

                                                                                    可以给我发一份吗谢谢 邮箱jtf1002@126.com

                                                                                    • At 2009.07.13 16:34, Gary said:

                                                                                      麻烦发我一份,多谢!
                                                                                      mail:zhangzy_xy@163.com

                                                                                      • At 2009.08.17 15:01, fsj said:

                                                                                        能抽时间发我一份吗,谢谢.
                                                                                        122035934@163.com

                                                                                        • At 2010.01.26 22:35, houston said:

                                                                                          你好,可以给我发个pc-lint吗???

                                                                                          • At 2010.01.26 22:36, houston said:

                                                                                            你好,可以给我发个pc-lint吗???
                                                                                            houston326@hotmail.com

                                                                                            • At 2010.03.23 19:22, myl said:

                                                                                              你好,可以给我发个pc-lint吗???
                                                                                              myl1986@163.com

                                                                                              (Required)
                                                                                              (Required, will not be published)