c++ - 如何使用 clang 生成类似于 gcc-xml 的元数据输出?

标签 c++ gcc metadata clang

我发现 GCCXML 不再被维护(我认为最后一个版本是 2009 年的,来自他们的 CVS 存储库)。人们通常建议查看 clang,但我找不到描述如何生成类似输出的综合文档。不一定是 XML,而是可解析(记录的,如果是二进制的或模糊的)格式的相同信息。如果有办法从最新的 gcc 版本中获取相同的信息,那也很好。

这是一个动态调用 C++ 代码的爱好项目。我知道类似的项目(pygccxml、xrtti、openc++),但重点是为了好玩而制作它。

最佳答案

曾经有一种使用 Clang 打印 xml 转储的方法,但它或多或少受到支持并已被删除。开发人员可以选择在各个阶段获取转储,但格式是供人类使用的,并且不稳定。

对 Clang 用户的建议始终是代码集成:

  • 直接使用 C++ 中的 Clang,例如使用 RecursiveASTVisitor 实现
  • 或者使用 C 或 C++ 中的 libclang

与 gcc 不同,clang 被认为是一组可重用的库,因此尝试为某些 clang 输出编写解析器没有多大意义:它只是产生更多错误- 比仅仅从源头消费信息更容易。

关于c++ - 如何使用 clang 生成类似于 gcc-xml 的元数据输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9463540/

相关文章:

C++ 简单字符检查

c++ - 使用线程时的内存分配问题

c++ - 将 C++ exe 与 C 库 (GNU) 链接时出现问题

c++ - 如何有选择地依赖 gcc 的共享对象?

android - 如何为 android 编译 GCC?

javascript - 如何遍历Cheerp/js中的动态命名对象?

c++ - Box2d - 计算速度和角度冲量时出现问题

android - 手动获取 SHOUTcast 元数据

excel - 使用 Power Query (Excel 2016) 检索 Power Query 表元数据

sql - sql server 2005 存储过程中表和 View 的名称