读取 VC++ CArchive 二进制格式(或 Java 读取(CObArray))

2022-01-12 00:00:00 serialization visual-c++ java mfc carchive

是否有关于用于序列化各种 MFC 数据结构的二进制格式的明确文档?我已经能够在十六进制编辑器中查看我自己的一些类,并使用 Java 的 ByteBuffer 类来读取它们(使用自动字节序转换等).

Is there any clear documentation on the binary formats used to serialize the various MFC data structures? I've been able to view some of my own classes in a hex editor and use Java's ByteBuffer class to read them in (with automatic endianness conversions, etc).

但是,我目前在尝试引入 CObArray 数据时遇到了问题,因为似乎有一个相当大的标题对我来说是不透明的,并且不清楚它是如何持久化对象类型信息的.

However, I am currently running into issues while trying to bring over the CObArray data, as there seems to be a rather large header that is opaque to me, and it is unclear how it is persisting object type information.

是否有一套在线文档可以对此有所帮助?或者来自过去处理过这个问题的人的一些示例 Java 代码?

Is there a set of online documentation that would be helpful for this? Or some sample Java code from someone that has dealt with this in the past?

推荐答案

由于 MFC 附带源代码,我将创建一个测试 MFC 应用程序来序列化 CObArray 并逐步执行序列化代码.这应该会为您提供所需的所有信息.

Since MFC ships with source code I would create a test MFC application that serializes a CObArray and step through the serialization code. This should give you all the information you need.

相关文章