C++中的Java反序列化

use*_*379 13 c++ java deserialization

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

sas*_*hka 4

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

  • Jdeserialize 将序列化的对象视为字节流,并执行提取所有数据所需的所有低级解析,但它不会重构原始对象 - 它构建一个可以询问以获取有关对象的各种信息的图。 (4认同)
  • @sasha.sochka我认为OP不想将Java对象反序列化为C/C++对象,而是反序列化为可以直接从C/C++代码检查的结构。 (2认同)