PC-Lint代码检查工具在KEIL5中使用
扫描二维码
随时随地手机看文章
01 前言
大家平时调试程序的时候会遇到一些异常现象,花了大量的时间Debug发现是访问越界,变量未初始化等写代码时大意造成的。如果我们严格遵循代码规范,能尽可能的避免这类情况发生,实际情况往往是虽然大家都知道优秀的代码规范是怎样的,但在具体写代码的过程中,却执行的差强人意,很多情况是认识上不够重视,造成后续调试的麻烦,今天就来介绍专用的代码检查工具PC-LINT和PC-LINT在KEIL5中的使用。尽可能的减少此类问题。
02 PC-LINT介绍
C语言的语法拥有其它语言所没有的灵活性,这种灵活性带来了代码效率的提升,但相应也使得代码编写具有很大的随意性,另外C编译器不进行 强制类型检查,也不做任何边界检查,这就增加了代码中存在隐患的可能性。如果能够在代码提交测试之前发现这些潜在的错误,就能够极大地减轻测试人员的压力,减少软件项目的除错成本,可是传统的C编译器对此已经无能为力,这个任务只能由专用的代码检查工具完成。PC-Lint偏重 于代码的逻辑分析一种代码检查工具,它能够发现代码中潜在的错误,比如数组访问越界、内存泄漏、使用未初始化变量等。
PC-Lint是GIMPEL SOFTWARE公司开发的C/C++软件代码静态分析工具,它的全称是PC-Lint/FlexeLint for C/C++,PC-Lint能够在Windows、MS-DOS和OS/2平台上使用,以二进制可执行文件的形式发布,而FlexeLint 运行于其它平台,以源代码的形式发布。PC-lint在全球拥有广泛的客户群,许多大型的软件开发组织都把PC-Lint检查作为代码走查的第一道工序。PC-Lint不仅能够对程序进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针以及冗余的代码,还能够有效地帮你提出 许多程序在空间利用、运行效率上的改进点。
PC-lint的代码检查功能
PC-Lint能够检查出很多语法错误和语法上正确的逻辑错误,PC-Lint为大部分错误消息都分配了一个错误号,编号小于1000的错误号是分配给C 语言的,编号大于1000的错误号则用来说明C++的错误消息。下表列出了PC-Lint告警消息的详细分类。
以C语言为例,其中的编号1-199指的是一般编译器也会产生的语法错误;编号200-299是PC-Lint程序 内部的错误,这类错误不会出现在代码中的;编号300-399指的是由于内存限制等导致的系统致命错误。编号400-999中出现的提示信息,是根据隐藏 代码问题的可能性进行分类的:其中编号400-699指的是被检查代码中很可能存在问题而产生的告警信息;编号700-899中出现的信息,产生错误的可 能性相比告警信息来说级别要低,但仍然可能是因为代码问题导致的问题。编号900-999是可选信息,他们不会被默认检查,除非你在选项中指定检查他们。
03 Keil中如何配置pc-lint
下载安装pc-lint,网上有很多资源。正常安装即可。
配置PC-lint
keil MDK中已经给出了pc-lint的配置文件,打开keil工程,tools--setupPC-lints。如下图弹窗,按照如下配置
-
先选择pc-lint执行文件。
-
选择keil安装下的配置文件ARM/BIN/CO-RV.LINT。
-
选择头文件和库文件的包含路径否则编译找不依赖,可以拷贝工程中的编译选项配置。点击OK退出。
配置完成打开tools可以看到如下图选项,第一个检查当前打开的源文件,第二个编译所有的源文件。
编译后输出信息在output窗口中,如下图。
04 END
借用网上一句话总结:能通过pc-lint检验的程序不一定没有问题,但通过了pc-lint检验的程序,质量的提高也是不言而喻的。