在 c++ 中执行序列化
Doing serialization in c++
我正在阅读有关 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 顺序的处理器。
相关文章:
- 如何在C++中序列化结构数据
- 序列化,没有库的整数,得到奇怪的结果
- 如何知道QDataStream不能反序列化某些内容
- 如何使用Python从C++中读取谷物序列化数据
- 如何使用boost::具有嵌套结构和最小代码更改的序列化
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 自定义对象的dlib序列化在gcc中失败
- C++boost序列化多态性问题
- 增强基于 XML class_id的反序列化
- 提升反序列化对象具有 nan 或 -nan 值
- 在 cpp 中的平面缓冲区中序列化对象
- 每次进行继承时都需要提升::序列化::base_object吗?
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 提升序列化 1:73 的向后兼容性问题
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 如何通过 C++ boost::序列化执行 std::map 的部分反序列化
- 在 c++ 中执行序列化
- 如何对多态继承层次结构执行灵活的序列化
- 在执行二进制序列化时,删除字符串流结果的const-ness是否安全?
- 序列化io_service::post()的执行,只在单个线程中调用io_service::run()