gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:01 26 4
gpt4 key购买 nike

我正在使用 cppcheck 进行静态分析。为了加快审查过程,我想设置 cppcheck 来寻找一些自定义规则,例如检查 geter 函数是否定义为常量。

如果有人有为 cppcheck 编写自定义规则的经验,请提供一些示例来编写自定义规则?

P.S 我做了一些研究以找到一种工具,它可以让我编写自定义规则并加快审核过程。我找到了有关此主题的这些链接

What open source C++ static analysis tools are available?

C++ static code analysis tool on Windows

A free tool to check C/C++ source code against a set of coding standards?

最佳答案

我是 Cppcheck 开发人员。

您也许可以使用 --rule 和 --rule-file 选项来添加此类规则。也许您可以使用正则表达式,例如:

\sget[A-Za-z]+\(\)\s+{\s+return

这取决于您的代码库。

如果您可以编写正则表达式,那么这是创建自定义规则最直接、最简单的方法。

有关更多信息,请阅读此处的“书写规则”文章: http://sourceforge.net/projects/cppcheck/files/Articles/

但也许您想编写更复杂的规则来使用 Cppcheck SymbolDatabase、tokenlist 和语法树来搜索此类 getter 方法。那么您不能使用 --rule 和 --rule-file 。那么你有这些选择:

  • 使用 --dump 并编写您自己的自定义脚本来读取输出数据 (xml)。
  • 编写C++代码并将其编译成Cppcheck。恕我直言,这是相对简单的,但需要您自己编译 Cppcheck。

关于c++ - 为 cppcheck 编写自定义规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30954800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com