【发布时间】:2013-02-15 16:57:05
【问题描述】:
我想将我的地形数据保存到一个文件中并仅加载其中的一部分,因为它太大而无法将其作为一个整体存储在内存中。其实我什至不知道protobuf是否适合这个目的。
例如,我会有这样的结构(可能在语法上无效,我只知道简单的基础知识):
message Quad {
required int32 x = 1;
required int32 z = 2;
repeated int32 y = 3;
}
x 和 z 值在我的程序中可用,通过使用它们,我想找到具有相同 x的正确 Quad 对象> 和 z(在文件中)来获取 y 值。但是,我不能只用 ParseFromIstream() 解析文件,因为(我认为是这样)它将整个文件加载到内存中,但在我的情况下,文件太大了。
那么,protobuf 是否能够加载一个对象,发送给我检查,如果对象错误,给我第二个?
实际上...我只想问:ParseFromIstream() 是否会将整个文件加载到内存中?
【问题讨论】:
-
@infact 这是一个荒谬的评论,没有某种形式的限定,即你觉得它失败的地方。
标签: c++ protocol-buffers