反转偏移量/按偏移量获取元素的名称
Reverse offsetof / Get name of element by offset
给定C++结构中元素的偏移量,如何在不手动计数的情况下找到其名称/类型?当解码ASM码时,这将特别有用,其中这种偏移是经常使用的。理想情况下,该工具将解析一个C(++)头文件,然后给出答案。感谢您的指点:)
一个这样的工具可能是编译器本身(使用与生成代码相同的ABI相关标志)。创建一个包含头文件的小程序,然后打印应用于每个结构的成员的offsetof
的结果。然后,您将有一个合适的查找表,您可以手动引用该表,或者将其用作您可能编写的另一个工具的输入。
自动生成上面的程序可能是可能的(取决于头的复杂性)(您可能希望首先通过C预处理器运行头,以扩展宏并选择正确的条件分支)。
相关文章:
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 通过指针偏移量访问结构变量值
- 以线程安全的方式转换 C/C++ 中时区名称字符串的时区偏移量
- librdkafka:rd_kafka_assignment 返回分配分区的偏移量 -1001
- 是否通过向封闭对象的地址添加字节偏移量来访问子对象
- 向指针地址添加 20 个字节偏移量
- glMapBufferRange(..) 中的偏移量关系和 glDrawArraysInstanced(..) 中的第一
- 是否有与 C# Structs/StructLayout 等效的功能,C++中的字段偏移量?
- 我的 sumASCII 函数中的此偏移量是多少?
- boost::序列化中的派生类偏移量计算.有效吗?
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 胎面偏移量的时间复杂度?
- 如何从 c++ 中的给定标准输入中获取每个字符的偏移量?
- 编译器在构造函数中计算的成员偏移量不正确
- 使用基地址和偏移量获取变量的地址
- c++ 读取进程内存基址 + 偏移量不起作用
- 通过其在 C 中的偏移量调用函数
- 将多个偏移量的多个元素插入到一个矢量中
- 反转偏移量/按偏移量获取元素的名称
- 如何设置所需偏移量的结构元素