Google协议缓冲区是否与C结构兼容? 我的意思是我可以从C直接读取序列化文件到结构中而无需反序列化? 或protobuf-c 是唯一的解决方案?与C的二进制兼容性
2
A
回答
6
根据平台上的对齐,排列顺序和结构打包情况,这可能会也可能不会。你可能对你的特定目标感到幸运,但一般来说你应该使用适当的序列化/反序列化例程。
1
由于填充和字节顺序问题,您不应该从顺序接口(如文件,管道或套接字)读取/写入C结构(以及大于char
的任何内置类型)。只能按字段序列化它们并考虑字节顺序。
相关问题
- 1. Solaris:libSTLPort.so与libCstd.so的二进制兼容性?
- 2. 二进制兼容性
- 3. Haskell二进制兼容性
- 4. STL容器的二进制兼容性
- 5. 文件的二进制兼容性*
- 6. 二进制兼容性vs向后兼容性
- 7. COM接口和二进制兼容性
- 8. Linux发行版二进制兼容性
- 9. 规避vb6二进制兼容性
- 10. 为什么必须将版本兼容性设置为不兼容二进制兼容性,然后回到二进制兼容性才能使其工作?
- 11. C#插件系统二进制兼容性问题
- 12. 二进制文件和兼容性标准信息 - C++/JAVA
- 13. GCC目标特异性和二进制兼容性
- 14. Sbt插件二进制不兼容
- 15. 为什么二进制兼容?
- 16. 什么是Java中的二进制兼容性?
- 17. Java - 抽象类和子类的二进制兼容性
- 18. 是否更改vb.net break二进制兼容性的目标cpu?
- 19. Java中的重构方法和二进制兼容性
- 20. VS2017和VS2015之间的二进制兼容性
- 21. VS 2010和VS 2010 SP1之间的二进制兼容性C++二进制文件
- 22. Ada变体记录可以与C++联合进行二进制兼容吗?
- 23. 将VS2008编译与Windows 7兼容的二进制文件
- 24. C++中的全局数组可以打破二进制兼容性吗?
- 25. avr-gcc 3.4.0与avr-gcc 4.3.x之间的二进制兼容性
- 26. 纯虚函数和二进制兼容性
- 27. 清理代码中断二进制兼容性
- 28. 虚拟覆盖和二进制兼容性
- 29. 可以在.NET库中实现二进制兼容性吗?
- 30. 如何自动测试二进制兼容性?
因为NumPy dtype明确指定了位顺序,所以没有字节顺序问题 – 2010-11-09 11:46:12
糟糕,我写了关于NumPy的......是的,你是赖特,我可能会遇到使用Google协议缓冲区的位顺序问题 – 2010-11-09 11:48:57