我已将以下代码包含在
下的llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
文件中
let ParentPackage = CoreAlpha in{
...
def SimpleFunc: Checker<"SimpleFunc">,
HelpText<"Simple Function Checking">,
DescFile<"SimpleFunc.cpp">;
但是当我通过输入以下命令在成功编译后检查其存在时,检查器不可见。
clang -cc1 -analyzer-checker-help
我不知道是什么原因,希望有人可以帮我解决这个问题。
答案 0 :(得分:0)
如果不查看源文件,我不能说太多,但我可以想到两种可能性。首先,你可能会遗漏像
这样的东西void ento::registerSimpleFunc(CheckerManager &mgr) {
mgr.registerChecker<SimpleFunc>();
}
在SimpleFunc.cpp中的,因为这将注册检查器。
其次,您可能忘记在 CMakeLists.txt 中添加 SimpleFunc.cpp ,以便SimpleFunc.cpp被编译和注册。