java 将对象转_如何将Java对象转换为C对象?

我的问题是这样的.我已经序列化了存储在文件中的二进制Java对象.我需要在C中重建对象并进行进一步处理.

我想我可以使用Java反序列化Java对象,再次序列化为acsii文件,然后加载C代码.另外,我知道可以使用JNI从C调用Java函数,但我不知道如何传递参数,即将对象返回给C.但有更好的方法吗?

谢谢!

解决方法:

如果您觉得足够勇敢,可以查看Java序列化specification并为Java序列化数据编写C解析器.

JNI路由可行,但您最终得到的是Java对象,而不是C对象.因此,您的C代码基本上必须对VM进行大量调用才能操作该数据(尽管您只需要获取对象的字段并将其复制到C对象中).

如果在C语言中编写Java unmarshaler听起来很麻烦,你可以按照自己的建议去做,并编写一个Java程序,将数据写入一种可以从C轻松解析的格式.但是现在你正在编写一个封送器(在Java中),如果你没有一个,那就是一个unmarshaler(在C中),所以也许只是解析Java序列化格式会更容易.

标签:java,c,serialization

来源: https://codeday.me/bug/20190726/1544609.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值