Keil使用PC-Lint

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',逐一查看,提高效率! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式产品开发流程

嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌…

Codeforces 478B 6thweek contest_B

Random teams 题意: 有n个选手和m个队伍,让你分配,条件是每个队伍至少要有1个选手。分配完之后,每队伍里2个人可以组成一组,求分配完之后最多的组数和最少的组数 分析: 1. 最多的情况就是,先每…

如何Keil官网下载器件支持包Software Packs

步骤1:百度一下Keil,在搜索结果中点击打开官网 步骤2:在官网的搜索栏输入Software Packs,点击Go 步骤3:点击打开MDK Software Packs 步骤4:往下拉,找到自己需要的Pack 步骤5:以下载s…

为文档快速插入页眉和页脚

专业的文档往往需要配以漂亮的页眉、页脚等修饰性元素才会更加完美。在Word 2010中您不必再为设计漂亮页眉和页脚而大费周折,内置的“页眉样式库”和“页脚样式库”为您提供了丰富的选择余地。 (1)打开Word 2010文档,在“插入”选…

[BBS]搭建开源论坛之Jforum搭配开源CKEDITOR

本文作者:sushengmiyan本文地址:http://blog.csdn.net/sushengmiyan/article/details/47946065使用默认的编辑器的时候,格式都无法保存。现在按照上节的方法更改了编辑器。今天再对编辑器进行更改,适应jforum.效果如下图了。记录几…

Windows7休眠状态下载技巧攻略

Windows7休眠状态下载技巧攻略 你想让你的快车或者是迅雷通宵下载电影,而且还能省电么?或许你会说,我不关机,给迅雷和快车添加完下载任务,挂在那里不就可以了吗?这没错,开着电脑通宵下载是可以,但这样的方…

Linux du查看磁盘文件夹占用容量

1、du 查看当前文件夹的占用容量: du -sh eg. 查看/usr的占用 2、指定层级查看 查看当前目录下最多一级目录的容量 du -h --max-depth1

Struts2学习笔记《二》

struts.xml配置文件的全部配置元素:       转载于:https://www.cnblogs.com/abc8023/p/4760284.html

Linux mount挂载和umont卸载U盘

1、树莓派插入U盘没有自动挂载,可以在/dev/下看到盘符,但是打不开,需要挂载到指定的文件位置。 2、挂载U盘使用mount命令。 (1)首先查看插入设备后的文件描述符:找到sda1 (2)新建文件夹 (3)挂载U盘到Udis…

iOS 如果刷新TableViewCell上得数据是空的 添加尾部暂无数据提示

其实很简单 只需要给tableView底部添加一个View 然后View上添加一个Label就可以了 做个衣服判断 数组为空的话则给一个这样的View 转载于:https://www.cnblogs.com/guochaoboke/p/4761429.html

Ubuntu如何卸载安装的软件以FileZilla为例

1、查看已安装的软件包: dpkg --list 2、卸载FileZilla sudo apt-get remove filezilla

【汇编语言-3】 代码、数据、堆栈在同一个段

(1) 代码段中使用数据 编程计算8个数据的和,结果保存在ax中。代码如下: code segmentassume cs:code dw 0123H,0456H,0789H,00bcH,00efh,0667h,072fh,0990H movbx,0movax,0movcx,8s:addax,cs:[bx] addbx,2loop s movax,4c00h int21hcode …

微信支付(APP)集成时碰到的问题(.net提示“无权限”、iOS跳转到微信支付页面中间只有一个“确定”按钮)...

直入主题之前,请容我吐槽一下微*的官方东西:ASDFQ%#$%$#$%^FG#$%DSFQ#$%.......;吐槽玩了!大家心照就好。 要完成手机APP跳转到微信的APP进行微信支付,需要进行如下操作: 1、先去微信的开放平台(http://ope…

Wireshark图解教程

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码&am…

Qt QProcess执行Linux 命令行的方法

1、QProcess 打开一个bash终端,可以执行一般的命令,主要实现步骤如下 m_proces_bash new QProcess; m_proces_bash->start("bash"); m_proces_bash->waitForStarted(); connect(m_proces_bash,SIGNAL(readyReadStandardOutput()),this…

Linux Qt打包发布应用程序

1、新建脚本文件pack.sh SensorMaster.sh (1)pack.sh #!/bin/sh exe"SensorMaster" #你需要发布的程序名称 des"/home/jianwang16/SensorMaster_Proj/build-SensorMaster-Desktop_Qt_5_9_0_GCC_64bit-Release/SensorMaster_Pack/install-pack " #创建文…

拟合优度检验

可决系数 可决系数(coefficient of determination) 如果样本回归线对样本观测值拟合程度越好,各样本观测点与回归线靠得越近,由样本回归做出解释的离差平方和与总离差平方和越相近;反之,拟合程度越差&…

Qt MQTT安装步骤记录

QT中的MQTT作为第三方库需要自己安装才能使用,以下简单记录方法。 一、下载MQTT源码编译成连接库 github地址: https://github.com/qt/qtmqtt 二、新建QtMqtt文件夹并拷贝MQTT头文件 2.1 在mingw53_32\include中新建QtMqtt文件夹 2.2 拷贝源码中的所有…

项目中通用的顶部标题和返回的TitleBar

1. 定义布局文件&#xff0c;在layout下新建title_bar_view.xml <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"a…

华为ECS云服务器 Ubuntu 安装和配置FTP教程

折腾了一下在云服务器上搭建FTP&#xff0c;可以在浏览器输入公网IP查看共享的文件&#xff0c;也就是创建下载点。现记录如下。第一种场景&#xff1a;匿名访问&#xff0c;通过浏览器输入公网地址即可实现下载第二种场景&#xff1a;输入指定的用户名和密码&#xff0c;可进入…