如何使用cppcheck查找cpp文件中是否存在函数?

时间:2018-12-18 10:15:37

标签: c++ cppcheck

我想查找cpp文件是否实现了某些功能。

例如,如果cpp文件中存在a()。我该如何编写规则?我希望它抛出异常(如果不存在)。

3 个答案:

答案 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章。