PCLint使用(二)

2024-02-22 15:08
文章标签 使用 pclint

本文主要是介绍PCLint使用(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PCLint(一)中的遗留问题已经解决。

 

问题一、Lint多个C文件

方法一:

(1)   在LINT软件目录下建立PRJLINT.LNT文件,文件的第一行是使用的LINT配置文件名,从第二行开始,列出想所有要LINT的*.C文件名,一行一个。如果要把结果输出到文件,在前面加上一行 "-os(文件名) "(例如: "-os(c:/lint/result.txt) ")。样例:

YF_Config.lnt

// 以下为自己想要进行Lint的.C文件,
G:/src/tt/tt1.c
G:/src/tt/tt2.c
         …
(2)  在Source Insight中增加一条"PC-LINT PROJECT”命令,所有设置与"PC-LINT"设置相同,除了在"Custom Commands"对话框中 "RUN "编辑框的文字由"C:/LINT/LINT-NT.EXE filename.lnt %f"改为"C:/LINT/LINT-NT.EXE PRJLINT.LINT ",也就是把配置文件名改为PRJLINT.LNT,并去掉未尾的"%f "

方法二:

(1)打开SourceInsight, 选择Options-->Custom Commands-->Add, 输入pclint_prj
(2)在Run中填写: D:/UnxUtils/usr/local/wbin/find.exe %d -name *.c -o -name *.cpp | D:/UnxUtils/usr/local/wbin/xargs D:/PC-Lint/lint-nt -i"D:/UnxUtils/usr/local" -u D:/PC-Lint/std.lnt D:/PC-Lint/env-vc6.lnt

问题二:PCLint检查库头文件

方法:

在std.lnt中加入

-wlib(0)

这个参数是取消对编译器库文件的审查,这个是相当重要的一个参数。如果
你只是想审查自己的代码的话,请加上这个参数。不然,就会对编译器的库函数也
进行审查。

 

发现:在解决上述问题后,检查应用程序,发现PCLint8.0中的MIRSA-C标准是1998的,一共127条。MIRSA-C标准是非常严格的,所以检查出的问题很多,需要边看标准边修改。

 

参考资料:

《PC-Lint与C/C++代码质量》http://dev.csdn.net/author/DL88250/ad095b3f77994a9ab2cfe3c695e3e004.html

《PC-Lint的使用方法(一)》http://blog.csdn.net/scucj/archive/2009/08/05/4409735.aspx 其中比较重要的是:2.2 PC-lint的介绍。

《linux pc-lint http://blog.csdn.net/robbie1314/archive/2010/06/21/5684927.aspx

《MISRA_C_1998》http://download.csdn.net/down/2072813/wkeliang

这篇关于PCLint使用(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735632

相关文章

gorm乐观锁使用小结

《gorm乐观锁使用小结》本文主要介绍了gorm乐观锁使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言grom乐观锁机制gorm乐观锁依赖安装gorm乐观锁使用创建一个user表插入数据版本号更新总结前言乐观锁,顾名

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五