Protocol buffers 如何用flatbuffer模式重写protobuf scheam?
例如,这是protobuf模式代码,我想用flatbuffer模式重写它们?代码是什么样的Protocol buffers 如何用flatbuffer模式重写protobuf scheam?,protocol-buffers,flatbuffers,Protocol Buffers,Flatbuffers,例如,这是protobuf模式代码,我想用flatbuffer模式重写它们?代码是什么样的 message Xx { required uint32 id = 1; optional string name = 2; message Yy { optional string name = 1; } repeated Yy y = 3; } 谢谢你,我的兄弟。FlatBuffers内置了.proto翻译,请尝试flatc--prot
message Xx {
required uint32 id = 1;
optional string name = 2;
message Yy {
optional string name = 1;
}
repeated Yy y = 3;
}
谢谢你,我的兄弟。FlatBuffers内置了.proto翻译,请尝试
flatc--proto myschema.proto
,您将得到相应的.fbs文件
不过,在您的例子中,您有嵌套的消息定义,FlatBuffers不支持这种定义。因此,首先更改您的.proto,例如消息Yy
被移动到消息Xx
之外。还要给它一个包名。您将获得:
table Yy {
name:string;
}
table Xx {
id:uint (required);
name:string;
y:[Yy];
}
编辑:FlatBuffers现在甚至支持转换嵌套的.proto定义。谢谢。但我建议FlatBuffers支持嵌套消息。因为ProtoBuffers中的现有消息有很多嵌套模式。当我编译源代码时,它与代码有关。编译器给出的错误是,表中只有非标量字段可能是“必需的”,我认为这是一个Bug???是吗?是的,这是一个bug,请在github上提交一个问题。现在,只需删除
(必选)
。好的,谢谢你,Aardapel,我现在就有一个关于github的问题。