你好,我正在寻找一种使用clang来转储类/结构体/数据类型内存布局的方法。我有一个基于这个教程的简单应用程序。
我还添加了这个函数:
bool VisitFieldDecl(FieldDecl *F)
{
F->dump();
std::cerr << F->getQualifiedNameAsString() << " " << F->getBitWidthValue(*Context) << " " << std::endl;
F->dump() ;
std::cerr << "-----------------------------------------" << std::endl;
return true;
}
很遗憾,对于我的类型,getBitWidthValue也返回零。
我需要递归地获取每个类和所有嵌套类型的完整内存布局。包括大小/偏移量。
也许AST不是正确的位置,我需要其他钩子来开始吗?