jjzjj

cppcheck

全部标签

c++ - 为 cppcheck 编写自定义规则

我正在使用cppcheck进行静态分析。为了加快审查过程,我想设置cppcheck来寻找一些自定义规则,例如检查geter函数是否定义为常量。如果有人有为cppcheck编写自定义规则的经验,请提供一些示例来编写自定义规则?P.S我做了一些研究以找到一种工具,它可以让我编写自定义规则并加快审核过程。我找到了有关此主题的这些链接WhatopensourceC++staticanalysistoolsareavailable?C++staticcodeanalysistoolonWindowsAfreetooltocheckC/C++sourcecodeagainstasetofcodin

CppCheck静态代码检查工具教程【Windows和Linux端】

目录1、背景2、特性介绍2.1、检查结果2.2、检查范围2.3、支持的检查规则(列举一些):2.4、自定义规则3、linux端4、windows端1、背景        最近调研了几款c/c++代码静态检查工具,包括cppcheck、cpplint、cppdepend、splint、tscancode、sonaqube等,对比后认为cppcheck使用起来最方便,检查内容相对全面,支持多平台应用(linux和windows),且免费,因此选用cppcheck作为c/c++代码静态检查的第一选择。本文对该工具的使用方法进行一个总结介绍。2、特性介绍        cppceck是一个C/C++代

基于misra-c-2012规则在vscode下集成cppcheck开源工具实现代码静态检查

前言依赖工具:1、cppcheck工具2、vscode下安装C/C++AdvancedLint扩展3、python工具一、cppcheck下载安装1、下载cppcheck工具安装包:http://cppcheck.net/2、双击安装包:双击后软件自行安装在:C:\ProgramFiles\Cppcheck3、添加cppcheck系统路径:添加系统路径步骤4、下载cppcheck源码:Github官网下载链接5、将下载后的cppcheck源码中的“addons”文件夹拷贝到cppcheck工具安装目录C:\ProgramFiles\Cppcheck下二、vscode下安装C/C++Advanc

【代码质量】C/C++静态检测/静态分析|TscanCode|cppcheck

目录TscanCodeWindows下的安装与使用Linux下的安装与使用cppcheck简介 Linux下的安装与使用Windows下的安装与使用TscanCodehttps://opensource.tencent.com/projectsTscanCode支持以下类型规则扫描:空指针检查,包含可疑的空指针,判空后解引用比如Crash等共3类subid检查。数据越界,Sprintf_S越界共1类subid检查。内存泄漏,分配和释放不匹配同1类subid检查。逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True或者false等共18类检查。可疑代码检查,if判断中含有可

【代码质量】C/C++静态检测/静态分析|TscanCode|cppcheck

目录TscanCodeWindows下的安装与使用Linux下的安装与使用cppcheck简介 Linux下的安装与使用Windows下的安装与使用TscanCodehttps://opensource.tencent.com/projectsTscanCode支持以下类型规则扫描:空指针检查,包含可疑的空指针,判空后解引用比如Crash等共3类subid检查。数据越界,Sprintf_S越界共1类subid检查。内存泄漏,分配和释放不匹配同1类subid检查。逻辑错误,重复的代码分支,bool类型和INT进行比较,表达式永远True或者false等共18类检查。可疑代码检查,if判断中含有可

linux - 如何将 cppcheck 的输出重定向到文件中?

我想将cppcheck的输出重定向到一个文本文件。它向stdout打印大量信息,但如果我运行cppcheck--enable=all--verbose。>/srv/samba/share/tmp/cppcheck.out,我没有得到文件中的所有信息。为什么不?如何获取文件中的结果? 最佳答案 cppcheck的最新开发版本包含一个新选项:--output-file=添加此选项以将输出定向到特定文件。使用示例:默认情况下,cppcheck将其结果打印到标准输出:$cppcheck--enable=alltest.cppChecking

linux - 如何将 cppcheck 的输出重定向到文件中?

我想将cppcheck的输出重定向到一个文本文件。它向stdout打印大量信息,但如果我运行cppcheck--enable=all--verbose。>/srv/samba/share/tmp/cppcheck.out,我没有得到文件中的所有信息。为什么不?如何获取文件中的结果? 最佳答案 cppcheck的最新开发版本包含一个新选项:--output-file=添加此选项以将输出定向到特定文件。使用示例:默认情况下,cppcheck将其结果打印到标准输出:$cppcheck--enable=alltest.cppChecking

cppcheck静态代码检查工具使用教程

0背景最近调研了几款c/c++代码静态检查工具,包括cppcheck、cpplint、cppdepend、splint、tscancode、sonaqube等,对比后认为cppcheck使用起来最方便,检查内容相对全面,支持多平台应用(linux和windows),且免费,因此选用cppcheck作为c/c++代码静态检查的第一选择。本文对该工具的使用方法进行一个总结介绍。1特性介绍cppceck是一个C/C++代码分析工具。与C/C++编译器和许多其他分析工具不同,它不检测语法错误。cppcheck仅检测编译器通常无法检测到的错误类型。目标是没有误报。检查结果包括error:出现的错误war

cppcheck静态代码检查工具使用教程

0背景最近调研了几款c/c++代码静态检查工具,包括cppcheck、cpplint、cppdepend、splint、tscancode、sonaqube等,对比后认为cppcheck使用起来最方便,检查内容相对全面,支持多平台应用(linux和windows),且免费,因此选用cppcheck作为c/c++代码静态检查的第一选择。本文对该工具的使用方法进行一个总结介绍。1特性介绍cppceck是一个C/C++代码分析工具。与C/C++编译器和许多其他分析工具不同,它不检测语法错误。cppcheck仅检测编译器通常无法检测到的错误类型。目标是没有误报。检查结果包括error:出现的错误war

c++ - 如何防止返回指向临时变量的指针?

在最近的一次错误搜索中,我发现返回指向临时变量成员的指针存在问题。有问题的(简化的)代码是:structS{S(inti):i(i){}inti;int*ptr(){return&i;}};int*fun(inti){returnS(i).ptr();}//temporarySdiesbutpointerlivesonintmain(){int*p=fun(1);return*p;//undefined}如何预防?GCC和Clang有-Waddress-of-temporary和-Wreturn-stack-address但由于ptr()的作用,它们似乎松散了踪迹作为肮脏行为的中间人。