kob*_*eir 5 c++ serialization protocol-buffers ace boost-serialization
我正在寻找一种将c ++数据包序列化到网络流的解决方案.
我在这里看到很多帖子引用人们:
高手
Google协议缓冲区
升压::序列化
Qt :: QDataStream
我的要求/限制:
解决方案必须是不知道LitteEndian/BigEndian.机器架构x86/x64和平台无关.
前3个解决方案的占地面积(RAM和ROM)对我的平台来说太大了,第四个解决方案与下一个要求相冲突.
该解决方案不需要大量的样板代码(将有200多个数据包被序列化).
谢谢,Koby Meir
Zul*_*jin 13
如果您发现Google协议缓冲区很重(我可以同意这一点,因为编译的库可能需要超过1 MB),您可以尝试使用简单版本的protobuf.可以通过插入以下行在*.proto文件中启用它
option optimize_for = LITE_RUNTIME;
Run Code Online (Sandbox Code Playgroud)
但是如果你需要一个具有最小开销的protobuf解决方案,我会使用protobuf-c,
这是protobuf的C实现.使用起来会有点困难,但二进制代码大小开销应该是最小的(30-50 KB).我知道这个C实现是由umurmur使用的 - 一个在嵌入式Linux ARM和MIPS路由器上运行良好的语音服务器.
归档时间: |
|
查看次数: |
3600 次 |
最近记录: |