扫码关注官方订阅号
服务端C++那边已经不太适合改了,目前能改的只有java客户端。之前搜索到有人使用javolution这个包,实现了把c语言定义的结构体直接转为java的对象的。这包怎么用呢
javolution
光阴似箭催人老,日月如移越少年。
我曾经做过反过来的,java传送一个结构,然后c这边用一个struct指针直接拿到结构数据。方法很原始,在java那边把结构体按照c里面struct的内存结构写进buffer里面再传送,这个过程中注意c里面struct对齐方式和大小端。。
这个要看你c++那边是怎么序列化的了,根据规则反序列回来
javabean继承javolution.io.Struct,并按照C++文件中定义的类型去定义javabean中的对象,按照如下的方式可以获得对象属性
_DBUserInfo dbUserInfo = new _DBUserInfo(); dbUserInfo.setByteBuffer(ByteBuffer.wrap((mc.get(key).toString().getBytes())) ,0); int type = dbUserInfo.type.get();
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我曾经做过反过来的,java传送一个结构,然后c这边用一个struct指针直接拿到结构数据。方法很原始,在java那边把结构体按照c里面struct的内存结构写进buffer里面再传送,这个过程中注意c里面struct对齐方式和大小端。。
这个要看你c++那边是怎么序列化的了,根据规则反序列回来
javabean继承javolution.io.Struct,并按照C++文件中定义的类型去定义javabean中的对象,按照如下的方式可以获得对象属性