6

我正在寻找一种方法来获取 C 程序的符号表。我正在寻找全局和局部变量,以及它们的范围等。

clang 是否有选项或 API 可以转储此信息?或任何其他使此操作变得容易的编译器框架。

4

1 回答 1

1

我确信 Clang 有一组接口来提供对符号表信息的访问。我的理解是没有很多文档,所以你只需要检查源代码。

GCCXML为顶级定义执行此操作。它不报告函数的内容(例如,你不可能得到本地人)。您获得了 XML,然后您就可以自己动手了。

我们的 DMS Software Reengineering Toolkit 具有针对各种 C 方言的完整解析器,并构建符号表。如果您想转储它们,[well-documented 恕我直言] 符号表 API 提供了简单的方法来枚举成员。通常人们想用这些信息一些事情,比如生成或修改代码。DMS 提供了庞大的基础架构来支持进行更复杂的分析(包括或由该符号表结构驱动)和/或修改代码。

于 2013-02-09T21:53:04.423 回答