【发布时间】:2023-03-17 00:08:01
【问题描述】:
我正在寻找一种方法来获取 C 程序的符号表。 我正在寻找全局和局部变量,以及它们的作用域等。
clang 是否有选项或 API 可以转储此信息? 或任何其他使此操作变得容易的编译器框架。
【问题讨论】:
标签: compiler-construction clang
我正在寻找一种方法来获取 C 程序的符号表。 我正在寻找全局和局部变量,以及它们的作用域等。
clang 是否有选项或 API 可以转储此信息? 或任何其他使此操作变得容易的编译器框架。
【问题讨论】:
标签: compiler-construction clang
我确信 Clang 有一组接口来提供对符号表信息的访问。我的理解是文档不多,所以你只需要检查源代码。
GCCXML 为顶级定义执行此操作。它不报告函数的内容(例如,你不可能得到本地人)。你得到 XML,然后你就靠自己了。
我们的 DMS 软件再造工具包具有针对各种 C 方言的完整解析器,并构建符号表。如果您想转储它们,[well-documented 恕我直言] 符号表 API 提供了简单的方法来枚举成员。通常人们想用这些信息做一些事情,比如生成或修改代码。 DMS 提供了庞大的基础架构来支持进行更复杂的分析(包括或由该符号表结构驱动)和/或修改代码。
【讨论】: