我正在阅读有关 C++ 序列化的页面。
http://www.parashift.com/c++-faq-lite/serialize-binary-format.html
第三个项目符号让我感到困惑(开头的那个:“如果二进制数据可能被另一台计算机读取,而不是那个写它时,要非常小心字节序问题(小字节序与大字节序)和 sizeof 问题”),其中还提到:“包含机器依赖项的头文件(我通常称之为machine.h
)”。
这些字节序和大小问题是什么?(sizeof
可能是在一台机器上int
可以是 4 个字节,而在另一台机器上可以是更少的字节,对吧?)。
该machine.h
文件的外观如何?
互联网上是否有一些教程以一种可以理解的方式解释了所有这些事情?
有时在某些源代码中,我还会遇到 typedef,例如:
typedef unsigned long long u64_t;
它与该machine.h
文件有某种关系吗?