【问题标题】:Extracting symbol table using clang使用clang提取符号表
【发布时间】:2023-03-17 00:08:01
【问题描述】:

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

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

【问题讨论】:

    标签: compiler-construction clang


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 2020-01-26
      • 2021-06-15
      • 1970-01-01
      • 2015-08-02
      相关资源
      最近更新 更多