我对clang解析C / C ++代码感兴趣,并且能够找到方法和函数。
是否可以使用clang来解析C ++源代码文件并获取类和方法的集合以及它们的位置?
答案 0 :(得分:6)
你可以写一个clang插件,它会为你做这件事。
看看this article。它基本上描述了如何构建自己的插件并使用ASTConsumer遍历AST。就像它在文章中写的那样,从现有的插件示例PrintFunctionNames开始。为每个函数声明调用方法HandleTopLevelDecl(DeclGroupRef DG)
。除了ND->getNameAsString()
之外,您还可以在此方法中调用ND->getLocation()
。另请查看API documentation以及这两个问题以获取更多信息: