二进制数据文件头应包含什么?

10

我有一个模拟程序,需要读取我们创建的大型二进制数据文件(10至100 GB)。出于速度考虑,我们使用二进制文件格式。这些文件是系统相关的,每次在运行时从文本文件进行转换,所以我不关心可移植性。目前,这些文件是由多个POD结构体的实例组成,并使用fwrite进行写入。

我需要改变结构体内容,因此我想添加一个头部,其中包含一个文件版本号,在每次结构体更改时将其递增。既然我正在进行这个操作,我想加入一些其他信息。我考虑加入结构体大小、字节顺序,以及创建二进制文件的代码svn版本号。还有其他什么有用的信息可以添加吗?

12个回答

0

如果您在标头中放置版本号,您可以随时更改该版本,以便在需要更改POD结构或向标头添加新字段时进行更改。

因此,现在不要添加任何内容到标头中,因为它可能很有趣。您只是创建了一些需要维护但实际价值很小的代码。


0
对于大文件,您可能希望添加数据定义,以便您的文件格式变得自描述。

总的来说,这是一个好主意。在我们的具体情况中,数据库是数据的“官方”版本。二进制文件仅用于将数据提供给模拟程序使用。 - KeithB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接