我正在寻找一种获取C程序符号表的方法。 我正在寻找全局和局部变量,以及它们的范围等。
clang是否有选项或API来转储此信息? 或任何其他编译器框架,使这很容易做到。
答案 0 :(得分:1)
我确信Clang有一组接口可以访问符号表信息。我的理解是没有很多文档,所以你只需要检查源代码。
GCCXML为顶级定义执行此操作。它不会报告功能的内容(例如,您不太可能获得本地人)。你得到了XML,之后你就可以自己了。
我们的DMS软件再造工具包具有适用于各种C方言的完整解析器,并构建符号表。如果您想要转储它们,[详细记录的IMHO]符号表API提供了枚举成员的简便方法。通常人们希望做某些信息,例如生成或修改代码。 DMS提供了庞大的基础架构来支持更复杂的分析(包括或由该符号表结构驱动)和/或修改代码。