我想查找cpp文件是否实现了某些功能。
例如,如果cpp文件中存在a()。我该如何编写规则?我希望它抛出异常(如果不存在)。
答案 0 :(得分:1)
静态代码分析工具不用于查找编译或链接错误。
如果未声明和定义'a`函数或方法,则编译器或链接器将通知您-您将收到错误。
答案 1 :(得分:1)
如果CppCheck无法检测到这种检查,则可以尝试CppDepend及其代码查询语言CQLinq来创建自定义规则。
from file in Files where file.ChildMethods.Where(m=>m.Name=="a").Count()==0 select file
答案 2 :(得分:0)
我是Cppcheck开发人员。
Cppcheck具有“规则”和“附加组件”。 “规则”由“-规则”执行。就“规则”而言,就我所知,您无法对其进行检查。
使用“附加组件”,您绝对可以实现此目的。一个好的开始是遍历作用域列表。如果看到“ a()”的函数作用域,则可以看到作用域主体在哪里。
您可以在cppcheck手册中阅读有关插件的更多信息。 http://cppcheck.sourceforge.net/manual.pdf
第12章。