使用clang提取符号表

时间:2013-02-09 20:38:36

标签: compiler-construction clang

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

clang是否有选项或API来转储此信息? 或任何其他编译器框架,使这很容易做到。

1 个答案:

答案 0 :(得分:1)

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

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

我们的DMS软件再造工具包具有适用于各种C方言的完整解析器,并构建符号表。如果您想要转储它们,[详细记录的IMHO]符号表API提供了枚举成员的简便方法。通常人们希望某些信息,例如生成或修改代码。 DMS提供了庞大的基础架构来支持更复杂的分析(包括或由该符号表结构驱动)和/或修改代码。