反向偏移/通过偏移获取元素的名称

时间:2015-04-30 14:11:32

标签: c++ c assembly

考虑到C ++结构中元素的偏移量,如何在不进行手动计数的情况下找到其名称/类型?这在解码常规使用此类偏移的ASM代码时尤其有用。理想情况下,该工具将解析C(++)头文件,然后从中提供答案。感谢您的任何指示:)

1 个答案:

答案 0 :(得分:1)

一个这样的工具可能是编译器本身(使用与生成代码相同的ABI相关标志)。创建一个包含头文件的小程序,然后打印应用于每个结构成员的offsetof结果。然后,您将拥有一个合适的查找表,您可以手动引用该表,或者将其用作您可能编写的另一个工具的输入。

自动生成上面的程序可能(取决于标头的复杂性)(您可能希望首先通过C预处理器运行标头,以扩展宏并选择正确的分支条件句)。