C++中的 Java 反序列化

2022-09-04 23:14:10

我正在开发一个必须处理各种消息类型的应用程序。其中一种类型是(没有可用的源)。
我想知道是否有人知道jdeserialize的C++库?
对于那些不熟悉它的人来说,jdeserialize基本上解析序列化的对象并构建一个图形。
它做得很好,我一直在尝试它 - 使用JNI来管理与主程序的交互。
这可以正常工作,但很麻烦。我担心这将是一个令人头疼的维护问题。C++serialized Java objects


答案 1

Java ABI与C++不兼容,所以你不能这样做。对象以不同的方式在内存中表示(这绝对不是唯一重要的区别,但应该足够了)。


答案 2

我认为最好的方法是首先用Java编写代码,然后将该代码转换为C++。为了更快地开始,首先从java中借用知识,逐步实现,并模拟一些功能(无需反序列化ArrayList)。也许@user888379提到的Jdeserialize的源代码就可以了。无论哪种方式,您可能也希望在Java中反序列化对象,以便与C++代码进行结构比较。


推荐