请问cppcheck的自定义规则应该如何设定?
是可以随便自定义自己想要的规则还是只能自定义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。