【问题标题】:Clang AST InterpretationClang AST 解读
【发布时间】:2019-04-24 19:53:05
【问题描述】:

我正在尝试解释您可以在下图中看到的 Clang AST 的部分内容。简而言之,我想做的是检查两个变量在不同的程序点是否相同。在检查了 AST 之后,我注意到 AST 部分之间唯一的共同点是用蓝色圈起来的部分。

谁能帮助我了解这些十六进制数字在 AST 中的对应关系? 我知道第一个块对应于变量声明,第二个块对应于一个表达式。是否可以调用 Stmt 和 Expr 类的方法来获取这些十六进制数字?

【问题讨论】:

  • 指针地址
  • @FrankC。谢谢你,是否可以从 Clang AST 中提取指针地址?
  • 访问 clang 的 AST 文档涵盖了 API,您可能需要通过它。

标签: clang abstract-syntax-tree llvm-clang


【解决方案1】:

这些确实是原始指针值。

您很可能需要检查DeclRefExpr 节点及其引用的相应声明(即getDecl 方法)。指向其声明的指针是您要查找的十六进制数。

使用 Clang 愉快地进行黑客攻击!

【讨论】:

    猜你喜欢
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 2013-03-06
    相关资源
    最近更新 更多