在 c++ 中执行序列化

Doing serialization in c++

本文关键字:序列化 执行 c++      更新时间:2023-10-16

我正在阅读有关 c++ 序列化的页面。http://www.parashift.com/c++-faq-lite/serialize-binary-format.html第三个项目符号让我感到困惑(开头的那个是:"如果二进制数据可能被与写入它的计算机不同的计算机读取,请非常小心字节序问题(小端序与大端序(和大小问题",其中还提到:"包含机器依赖项的头文件(我通常称之为machine.h("。

这些问题的起源和大小是什么?(sizeof可能是在一台机器上int可以是 4 字节,而在另一台机器上例如更少的字节,对吧?

machine.h文件会是什么样子?

互联网上是否有一些教程可以以可理解的方式解释所有这些事情?

有时在某些源代码中,我也会遇到 typedef,例如:

typedef unsigned long long      u64_t;

它与那个machine.h文件有某种关系吗?

sizeof:在一个架构上long在另外 32 位上是 64 位。

字节序:让我们假设 4 字节长。这 4 个字节可以按不同的顺序放置在内存中,例如在英特尔上,最低有效位位于最低地址,在摩托罗拉或 sparc 上,顺序相反,但也可能有 2301 顺序的处理器。