我为cpp check创建了以下规则文件:
<?xml version="1.0"?>
<rule version="1">
<pattern>virtual .* \( .*dword .* \)</pattern>
<message>
<id>virtual function</id>
<summary>Possible error </summary>
</message>
</rule>
此规则仅检测代码中的第一个匹配项 会是什么问题。
答案 0 :(得分:0)
我是Cppcheck开发人员。
我不确定..但如果pcre贪婪,那么匹配将包含来自第一个虚拟函数的所有代码,直到最后一个&#39;)&#39;在你的代码中。
不要使用。*,也许[^]] *效果更好。
如果在命令行中使用--rule,则可以看到它匹配的内容。