我找了一段时间,到处都找不到这个。我找到了一个很好的 cppcheck 规则文件示例,它显示了一个简单的模式;
<?xml version="1.0"?>
<rule version="1">
<pattern>if \( p \) { free \( p \) ; }</pattern>
<message>
<id>redundantCondition</id>
<severity>style</severity>
<summary>Redundant condition. It is valid to free a NULL pointer.</summary>
</message>
</rule>
只要所有指针都命名为“p”并且调用是“免费的”,它就可以很好地工作。如何更改“p”以匹配任何标识符?如何检查“'免费'或'删除'”?该模式是 grep/awk/sed 模式吗?