跨平台文件结构处理

时间:2013-01-07 16:15:21

标签: c++ file-io cross-platform cross-compiling

每当我需要定义文件结构时,我使用特定于编译器的命令(如#pragma pack(1))来确保我可以安全地读取和写入此文件,而不必担心填充问题。

但是,还有其他方法可以达到同一目标吗?我不需要对复杂对象进行去/序列化,只需要POD类型。

2 个答案:

答案 0 :(得分:1)

不可能定义一个总是很好地映射到类型的内存中表示的跨平台二进制格式。

定义跨平台文件格式的两个选项是:

  1. 使用文字
  2. 根据您最喜欢的跨平台序列化库提供的内容定义二进制格式,并使用该库在内部和外部表示之间转换文件内容。

答案 1 :(得分:0)

Boost Serialization Library可能是一个选项,如果您希望快速解决并且没有太多麻烦。