问题标签 [cppcheck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
29631 浏览

c++ - 如何为 C++ 代码使用 cppcheck 的内联抑制过滤器选项?

我想使用 Cppcheck 对我的 C++ 代码进行静态代码分析。我了解到我可以使用命令抑制某种警告--inline-suppr。但是,我找不到应该在评论中添加的“suppressed_error_id”:

0 投票
2 回答
356 浏览

c++ - 由于奇怪的语法,“非套接字上的套接字操作”错误

我在调用时遇到了Socket operation on non-socket一些网络代码中的错误,connect并花了很多时间试图找出导致它的原因。我终于发现以下代码行导致了问题:

看到问题了吗?这条线应该是这样的:

我不明白为什么第一行不正确的行不会产生警告。换句话说,不应该是一般形式:

编译器看起来很奇怪,尤其是运行g++ -Wall -Wextra?

如果不是,它至少不应该显示为 cppcheck 的“坏风格”,我也在编译过程中运行它吗?

0 投票
2 回答
1373 浏览

c++ - cppcheck 的警告,“隐藏具有相同名称的 typedef”

这是一条cppcheck警告消息。
变量“BUFFER_INFO”隐藏了同名的 typedef

BUFFER_INFO 定义如下。

我写道,

问题是什么?我该如何解决?
谢谢。

0 投票
3 回答
7079 浏览

c++ - c++ 可能的空指针取消引用

我对一些代码运行 cppcheck 以查找可能的运行时错误。它报告了一个可能的空指针取消引用,情况如下:

编辑:更好的例子

来自 cppcheck 的错误消息:

[C:\file.cpp:3]:(错误)可能的空指针取消引用:x - 否则在第 4 行检查 x 是否为空是多余的

但我不明白这是怎么可能的。

0 投票
2 回答
3944 浏览

c++ - cppcheck 认为我有“冗余代码:找到以数字常量开头的语句”

Cppcheck(版本 1.46.1)对像这样的枚举给出以下警告:

冗余代码:找到以数字常量开头的语句

我不认为这是多余的。能够做这样的事情是非常重要的。

这是 cppcheck 的错误还是我什么也没看到?

更新

我设法把它归结为一个最小的例子。由于 cppcheck 有 2 个(更多)错误,这使这变得复杂,这使得我的减少看起来没有效果。
有 5 个文件:a.ha.cpp、和b.h,内容如下。 VC9 编译它没有警告(警告级别 4)。b.cppinc.h

所以现在我很确定这是cppcheck的一个错误。有不同意见吗?

0 投票
1 回答
6830 浏览

cppcheck - 如何在 gcc 编译器中构建 cppcheck 工具?

我已经下载了 cppcheck 工具并构建了它。现在面临找不到 cppcheck 命令的问题。有什么错误吗..建议我的步骤..

我在 gcc 编译器中尝试如下:

0 投票
3 回答
1180 浏览

c++ - CppCheck:变量“bla”未赋值

在我的代码库上运行 CppCheck 会产生一些样式警告。例如在

它给了我

与类似的代码相同

这是我的代码有问题还是 CppCheck 有问题?(如何)我应该修复它?

感谢您的任何想法!

0 投票
1 回答
3765 浏览

static-analysis - Code::Blocks,包括静态代码分析(cppcheck)?

Cppcheck网站告诉我 Code::Blocks 内置了 Cppcheck。IDE 上的Wikipedia 页面告诉我 Code::Blocks 具有集成的静态代码分析(那将是 Cppcheck,不是吗?)。

我在哪里可以找到它?浏览了我能找到的所有菜单、插件和文档,但什么也没有……

0 投票
7 回答
84559 浏览

c++ - c++,usleep() 已过时,Windows/MingW 的解决方法?

我已经发现另一个问题是 Windows/MingW 没有提供 nanosleep() 和 setitimer() 替代过时的 usleep()。但我的目标是修复 cppcheck 给我的所有警告,包括 usleep() 样式的警告。

那么,是否有一种解决方法可以在不使用 cygwin 或安装大量新依赖项/库的情况下以某种方式避免 Windows 上的 usleep() ?谢谢。

0 投票
2 回答
610 浏览

c - Sqlite3.c 中的 For-loop 语法错误

cppcheck 已确定以下语句在 sqlite3.c 中产生语法错误:

for(i=0; i<db->nDb; i++){

全功能:

我看不出这是一个语法错误。请解释。这是误报吗?