Keil使用PC-Lint
随着项目的推进与迭代,一个Project的代码量往往会不知不觉增长,当项目代码达到数万行,迭代经历较长时间后,仅靠开发人员自身的代码质量已不能满足对整体质量的把控。难以避免会出现一些潜在的逻辑错误与非逻辑错误。这种情况下,定期code review是不错的选择,但是在开发人员数量较少,开发模式趋于敏捷开发的今天,快速迭代,开发人员技术参差不齐,即便选择code review也不能发现大多数潜在风险。如果自己进行全盘代码的review,其难度不亚于将项目重构,此时引入工具就变得迫在眉睫。
在进行Web开发时,尤其进行js开发时,开发工具会包含‘csslint’,‘eslint’等一些代码质量检测工具,打包过程中会给出一些很有意义的Warning,解决大多数非逻辑性错误造成的功能异常问题。在单片机开发过程中,也有一个代码质量检测神器---‘PC-Lint’,下面来介绍如何在Keil中使用PC-Lint!
- 项目构成:项目代码 + FreeRTOS10.0.1 + STM32FXX_StdPeriph_Driver
- Keil版本:MDK-ARM Plus Version5.24.1
- PC-Lint版本:PC-lint for C/C++ (NT) Vers. 9.00L (https://files.cnblogs.com/files/godan/Gimpel_PC_Lint_9.rar) 免费可用版本~~
1.安装PC-Lint
下载好PC-Lint后,需要再去官网下载最新的patch包。PC-Lint安装完毕后,将patch包放在PC-Lint安装路径下,打开cmd,先查看当前pc-lint版本:
打path的方法也很简单,只需按照官网提示输入lpath.exe patch_file_name即可。
2.在Keil中添加PC-Lint
点击图中按钮,弹出以下配置窗口:
根据图中所示,选择好PC-Lint的安装路径,Keil自带的LNT配置文件后点击OK,配置完成。之后就可以点击“Lint all C/C++ Source Files”,愉快地使用PC-Lint神器啦,是不是很简单~~~
由于C语言的项目中很多时候会用到枚举,goto,指针转换,等类型、方法,所以个人认为提示的好多Warning只供参考,未必需要消除所有PC-Lint提示的Warning,最主要是检查在类型的隐式转换时,变量类型发生精度丢失会不会造成功能异常等一些奇葩问题。
一般PC-Lint给出的信息会很多,我目前的项目给出的提示信息近5000条,可以先把输出信息拷贝到notepad++中,分别搜索'Info',‘Warning’,'Error',逐一查看,提高效率!