Google協議緩衝區是否與C結構兼容? 我的意思是我可以從C直接讀取序列化文件到結構中而無需反序列化? 或protobuf-c 是唯一的解決方案?與C的二進制兼容性
2
A
回答
6
根據平臺上的對齊,排列順序和結構打包情況,這可能會也可能不會。你可能對你的特定目標感到幸運,但一般來說你應該使用適當的序列化/反序列化例程。
1
由於填充和字節順序問題,您不應該從順序接口(如文件,管道或套接字)讀取/寫入C結構(以及大於char
的任何內置類型)。只能按字段序列化它們並考慮字節順序。
相關問題
- 1. Solaris:libSTLPort.so與libCstd.so的二進制兼容性?
- 2. Haskell二進制兼容性
- 3. 二進制兼容性
- 4. Linux二進制兼容性
- 5. STL容器的二進制兼容性
- 6. 文件的二進制兼容性*
- 7. 二進制兼容性vs向後兼容性
- 8. 規避vb6二進制兼容性
- 9. j2me波蘭語二進制兼容性
- 10. COM接口和二進制兼容性
- 11. Linux發行版二進制兼容性
- 12. 確定二進制兼容性linux下
- 13. VS2010和VS2012之間的二進制C++庫兼容性?
- 14. 交叉編譯器在C中的二進制兼容性
- 15. 爲什麼必須將版本兼容性設置爲不兼容二進制兼容性,然後回到二進制兼容性才能使其工作?
- 16. C#插件系統二進制兼容性問題
- 17. 二進制文件和兼容性標準信息 - C++/JAVA
- 18. GCC目標特異性和二進制兼容性
- 19. GNU LD符號版本控制和C++二進制向後兼容性
- 20. Sbt插件二進制不兼容
- 21. 爲什麼二進制兼容?
- 22. VS2017和VS2015之間的二進制兼容性
- 23. 什麼是Java中的二進制兼容性?
- 24. Java中的重構方法和二進制兼容性
- 25. 是否更改vb.net break二進制兼容性的目標cpu?
- 26. Java - 抽象類和子類的二進制兼容性
- 27. shell的二進制運算符兼容性
- 28. VS 2010和VS 2010 SP1之間的二進制兼容性C++二進制文件
- 29. Ada變體記錄可以與C++聯合進行二進制兼容嗎?
- 30. 番石榴二進制是否與以前的版本兼容?
因爲NumPy dtype明確指定了位順序,所以沒有字節順序問題 – 2010-11-09 11:46:12
糟糕,我寫了關於NumPy的......是的,你是賴特,我可能會遇到使用Google協議緩衝區的位順序問題 – 2010-11-09 11:48:57