- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
最佳答案
您将无法将所有 MISRA/JSF 规则和指令实现为 cppcheck 规则,主要是限制某些 C 语言功能和结构或与样式相关的简单规则(想到的一些:前面的空格/./-> 之后,单行上的参数 #,使用 union 来提供访问内存的不同方法,在 char 之前存在无符号/有符号等)。
用户 Ira Baxter几乎把它钉在了 comment关于涉及 cppcheck 的另一个问题:并非所有内容都可以表示/简化为模式。依赖模式自定义规则使得难以处理和检测更高级别的问题,例如与 types (例如 sizeof() on types;你会解析和收集用作类型表示的标记(typedef、枚举))、继承 (例如,类,包括派生类,用作虚拟和非虚拟) 和 范围。那些需要硬编码到 cppcheck 中(你总是可以 fork cppcheck...)
无论如何,您是否接触过 MISRA(或 JSF)规则?这是项目的要求吗?如果没有,您可以获取一份 MISRA 指南(您已经拥有 JSF 指南)并检查您可以使用 PCRE 模式实现的指南。如果这是一项要求,我建议您“投资”一个能够检查 MISRA/JSF 指南并使用这两种工具的商业产品。
最后一点:您不需要所有的 MISRA/JSF 规则,并且许多工具会留下一小部分。
关于c++ - cppcheck 的规则集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188219/
我正在使用cppcheck用于 C 代码的静态分析,但似乎无法获取 XML。我需要 Jenkins 使用 XML 文件 这是我迄今为止尝试过的: runcppcheck.sh #!/bin/sh cd
示例代码: class Foo { // cppcheck-suppress noExplicitConstructor Foo(int foo) { } } Cppcheck 调用:
我有一个非常简单的 C 程序,使用 strcpy 可能存在缓冲区溢出: #include #include void buffer_overflow(char* dst, const char*
我已经下载了 cppcheck 工具并构建了它。现在面临着找不到 cppcheck 命令的问题。有什么错误吗..建议我步骤.. 我在 gcc 编译器中尝试如下: > cd /home/tcsujth/
我有一个驱动 cppcheck 坚果的代码片段,因为它没有看到日志调用中使用的变量。所以我得到了未使用的变量和范围缩减警告: double start = GetTimeOfDayDouble
我已经下载了 cppcheck 工具并构建了它。现在面临着找不到 cppcheck 命令的问题。有什么错误吗..建议我步骤.. 我在 gcc 编译器中尝试如下: > cd /home/tcsujth/
我有一个定义 cppcheck 的 CMakefile,如 Cppcheck support in CMake效果很好,但我希望能够一遍又一遍地编译我的代码,并且在我认为我接近完成之前不运行 cppc
我用 cppcheck 分析了一些代码的错误和代码质量。我遇到了一个我认为是误报的错误。下面的代码示例显示了问题(用注释标记)。 cppcheck - v 1.89 #include #includ
我已经在 Windows 10 计算机上下载了 Codeblocks,现在我正在尝试在其上安装 CppCheck。 但是,也上网寻找解决方案,我无法理解如何安装 CppCheck(在 Codebloc
cppcheck 检测到以下代码中的资源泄漏。我认为这是一个假阴性。如果不是,你能向我解释一下为什么这是资源泄漏吗? bool fileExists(const char* filename) {
我有一个结构如下的项目: /path/to/project/source/library/ /path/to/project/tests/ 如果我跑 cppcheck --xml-version=2
我正在对以下代码运行 cppcheck bool bsIsBigEndian( void ) { return (((const int*)"\0\x1\x2\x3\x4\x5\x6\x7"
我知道 cppcheck 可以检查变量上空指针的取消引用。例如,这将触发 cpp 检查: int* a = NULL; *a = 5; 是否可以配置 cppcheck 以便它也验证函数返回的指针?像这
我已经为一个包含大量库的大型项目设置了 CPPCheck (v1.6.1)。 当我检查图书馆时,我会遇到一些我感兴趣的检查失败,一切都很好。但是此时我只有一个文本文件列表,其中包含我正在通过“--fi
我面临的情况是我需要 cppchecks 才能通过,但有时会变得很棘手。在这种情况下你通常会怎么做?例如。 #include using namespace std; void fun1(); int
所以在 main.c 中,我得到了打印加密内容的这部分代码如果它不为空。就这么简单。 cpp错误是: [main.c:40]: (error) Possible null pointer derefe
我只想对特定类型的文件而不是所有文件运行 cppcheck。 例如,我想对所有以“Operation.cpp”结尾的文件递归运行 cppcheck(主要是针对 *Operation.cpp)。我没有在
为什么 cppcheck 无法检测到像本例这样的程序中的内存泄漏,其中堆指针的所有权被传递给未能释放它的函数? #include void func(char *xx) { // do no
我正在尝试使用 cppcheck分析我的 C++ 项目。我的命令如下所示: me@home:trunk/software/cpp/tnoid$ cppcheck -v --enable=all --x
我有一个问题,有什么方法可以使用 cppcheck-htmlreport 从几个 xml 生成一个 html 文件? 通常我这样做: /cppcheck-htmlreport --file/vobs/
我是一名优秀的程序员,十分优秀!