Code::Blocks使用pc-lint
来源:互联网 发布:ie无法打开淘宝网 编辑:程序博客网 时间:2024/04/30 08:47
先说下pc-lint,虽说在它的官方网站上已经有9.0版本,但是并不提供任何的试用版本。我在网上找了下,目前能免费下载的最新版本大概是8.0w了。至于Code::Blocks就简单多了,直接到官方网下载最新版本即可。
pc-lint的配置也是个麻烦事,好在网上介绍的文章很多,让pc-lint转起来应该不难。
我的做法是解压pc-lint包到任意目录,然后从lnt目录中copy一个配置文件模板,即std.lnt文件到pc-lint根目录下。修改这个文件,为该文件出现的文件引用指定完整路径,在我的机器上是这个样子的:
d:\pclint\lnt\au-sm.lnt
d:\pclint\lnt\au-ds.lnt
d:\pclint\lnt\au-misra.lnt
d:\pclint\lnt\co-gnu3.lnt
接下来还要指定头文件的目录,找到Code::Blocks目录下的include子目录的位置,添加上去即可,我使用的是:
-i"c:\program files";"C:\Program Files\CodeBlocks\MinGW\include"
最前面-i的用法和makefile中的是一样的。
针对个人的使用习惯,可能还有一些特殊配置,建议都放到options.lnt文件中,所以在std.lnt中还要加上:
d:\pclint\options.lnt -si4 -sp4
我使用的options.lnt文件是这样子的:
-wlib(0)
-e829
-e970
-e726
-e956
-esym(960, 69)
完成上面的配置后,就可以使用pc-lint对代码进行检查了。先在命令行中试验下:
lint-nt.exe -u d:\pclint\std.lnt test.c
果然能看到很多信息出现,包括警告和错误。比较奇怪的是居然提示找不到stddef.h,这怎么可能。查看stdio.h,它明明就是直接include stddef.h的,如果真找不到,就不可能通过Code::Blocks的编译了。
但是,我在C:\Program Files\CodeBlocks\MinGW\include搜索,竟然真的找不到此文件。真是奇怪!
先不管这么多,自己添加一个空的stddef.h文件好了,这样总算能骗过pc-lint了:-)。
不过pc-lint又开始抱怨NULL未定义。我决定使用Code::Blocks编译试试,更奇怪的是,竟然没法编译通过,出现了一大堆错误。但是我把stddef.h删掉就可以了。
看来Code::Blocks还是有这个文件的,就是不知藏哪了。这个简单,直接在Code::Blocks目录下搜索,终于让我在C:\Program Files\CodeBlocks\MinGW\lib\gcc\mingw32\3.4.5\include目录把它找出来了。接下的问题就简单啦,把这个添加到std.lnt的-i行后即可:
-i"c:\program files";
"C:\Program Files\CodeBlocks\MinGW\include";
"C:\Program Files\CodeBlocks\MinGW\lib\gcc\mingw32\3.4.5\include"
这样使用起来就一切正常啦,接下来,就是--去除那些警告吧。
pc-lint的配置也是个麻烦事,好在网上介绍的文章很多,让pc-lint转起来应该不难。
我的做法是解压pc-lint包到任意目录,然后从lnt目录中copy一个配置文件模板,即std.lnt文件到pc-lint根目录下。修改这个文件,为该文件出现的文件引用指定完整路径,在我的机器上是这个样子的:
d:\pclint\lnt\au-sm.lnt
d:\pclint\lnt\au-ds.lnt
d:\pclint\lnt\au-misra.lnt
d:\pclint\lnt\co-gnu3.lnt
接下来还要指定头文件的目录,找到Code::Blocks目录下的include子目录的位置,添加上去即可,我使用的是:
-i"c:\program files";"C:\Program Files\CodeBlocks\MinGW\include"
最前面-i的用法和makefile中的是一样的。
针对个人的使用习惯,可能还有一些特殊配置,建议都放到options.lnt文件中,所以在std.lnt中还要加上:
d:\pclint\options.lnt -si4 -sp4
我使用的options.lnt文件是这样子的:
-wlib(0)
-e829
-e970
-e726
-e956
-esym(960, 69)
完成上面的配置后,就可以使用pc-lint对代码进行检查了。先在命令行中试验下:
lint-nt.exe -u d:\pclint\std.lnt test.c
果然能看到很多信息出现,包括警告和错误。比较奇怪的是居然提示找不到stddef.h,这怎么可能。查看stdio.h,它明明就是直接include stddef.h的,如果真找不到,就不可能通过Code::Blocks的编译了。
但是,我在C:\Program Files\CodeBlocks\MinGW\include搜索,竟然真的找不到此文件。真是奇怪!
先不管这么多,自己添加一个空的stddef.h文件好了,这样总算能骗过pc-lint了:-)。
不过pc-lint又开始抱怨NULL未定义。我决定使用Code::Blocks编译试试,更奇怪的是,竟然没法编译通过,出现了一大堆错误。但是我把stddef.h删掉就可以了。
看来Code::Blocks还是有这个文件的,就是不知藏哪了。这个简单,直接在Code::Blocks目录下搜索,终于让我在C:\Program Files\CodeBlocks\MinGW\lib\gcc\mingw32\3.4.5\include目录把它找出来了。接下的问题就简单啦,把这个添加到std.lnt的-i行后即可:
-i"c:\program files";
"C:\Program Files\CodeBlocks\MinGW\include";
"C:\Program Files\CodeBlocks\MinGW\lib\gcc\mingw32\3.4.5\include"
这样使用起来就一切正常啦,接下来,就是--去除那些警告吧。
- Code::Blocks使用pc-lint
- PC-Lint使用全过程
- PC-Lint使用简介
- 使用PC-lint
- PC-Lint使用简介
- PC-Lint使用简介
- 使用PC-lint
- pc-lint使用
- pc-lint使用
- PC-Lint使用
- visual lint 和 pc lint 使用实战
- [转载]PC-Lint使用简介
- pc-lint使用心得-QA
- PC-LINT的使用(一)
- PC-LINT的使用(二)
- 学习使用Code::blocks
- Code::Blocks使用释疑
- code blocks使用
- linux+nginx+tomcat负载均衡,实现session同步
- 《计算机图形学》实验一:利用OpenGL实现直线光栅化的DDA算法
- 转:解析json文件
- 启动模式"singleTask"和FLAG_ACTIVITY_NEW_TASK具有不同的行为!
- 文字走马灯效果
- Code::Blocks使用pc-lint
- 寄存器
- Good habit to read something every night The linux command line
- 进程&线程&死锁
- 黑马程序员_泛型总结(一个苹果是水果,一箱苹果不是水果)
- 机器学习经典书籍、顶级会议和杂志
- input文本框只允许输入数字代码三则
- Best Practices for Working with Texture Data
- 代码注释对齐