如何从指针到void复制结构?

Win*_*ker 1 c++ struct pointers

假设我有一个包含结构的DLL,但我不知道这个结构的细节.但是我有一个指向结构地址的void指针.

任何人都可以告诉我如何获得结构的详细信息?比如将struct输出到文本文件中.

谢谢!

cod*_*eim 7

没有类型定义,您无法知道结构的详细信息.在没有类型定义的情况下复制以void指针开头的区域将为您提供原始二进制数据,但您不知道它的结束位置,或者哪些部分代表哪些变量.某些值可以是整数值,也可以是指针地址.有各种各样的可能性.

您应该尝试获取头文件.

可以从调试/符号文件中收集一些信息(例如Windows上的示例.pdb文件),或者在Linux上使用GDB调试程序,这只有在您拥有程序的调试版本时才能生效.请参阅GDB中的"whatis"和"ptype"命令.