每当我需要定义文件结构时,我都会使用特定于编译器的命令(如#pragma pack(1)
)来确保我可以安全地读取和写入此文件并且无需担心填充问题。
但是,还有其他方法可以达到相同的目标吗?我不需要反序列化复杂对象,只需 POD 类型。
每当我需要定义文件结构时,我都会使用特定于编译器的命令(如#pragma pack(1)
)来确保我可以安全地读取和写入此文件并且无需担心填充问题。
但是,还有其他方法可以达到相同的目标吗?我不需要反序列化复杂对象,只需 POD 类型。
定义一个总是很好地映射到类型的内存表示的跨平台二进制格式是不可能的。
定义跨平台文件格式的两个选项是:
Boost Serialization Library可能是一种选择,如果您希望快速解决它并且不费吹灰之力。