libclang:获取方法位置的集合

pab*_*blo 3 parsing clang

我对clang解析C/C++代码感兴趣,并且能够找到方法和函数.

是否可以使用clang来解析C++源代码文件并获取类和方法的集合以及它们所在的位置?

Bar*_*kar 6

你可以编写一个clang插件,它会为你做这件事.

看看这篇文章.它基本上描述了如何构建自己的插件并使用ASTConsumer遍历AST.就像它写在文章中一样,从现有的插件示例PrintFunctionNames开始.HandleTopLevelDecl(DeclGroupRef DG)为每个函数声明调用该方法.此外,ND->getNameAsString()您可以调用ND->getLocation()此方法.还可以查看API文档和这两个问题以获取更多信息:

如何在clang :: VarDecl中获取变量名的位置

使用clang API处理C++函数以插入代码