Yes, I add fields in my new protocol buffers types without changing any data type of an existing fields. After I posted my problems, I tried member function ParsePartialFromCodedStream in the message class, and it told me that I have UnknownFields, and is it the way protocol buffers designed to be forwards compatible? I can just use the function provided in unknownfield and get what I need?
在 2019年5月28日星期二 UTC+8上午3:03:41,Marc Gravell写道: > > What exactly happens? Protocol buffers are designed to be forwards > compatible, so adding fields etc is usually fine and expected. Depending on > the implementation unexpected fields may be ignored or stored as extension > fields. So: is that what you did? And: what happened? > > Note: changing the data type (or meaning) of an existing field is *not* > forwards compatible. > > On Mon, 27 May 2019, 12:26 ill W, <[email protected] <javascript:>> > wrote: > >> I am using protocol buffer in C++ and I notice that if I use an old >> protocol buffer generated code and parse a new protocol buffer file, it >> will crash. >> >> Is there any way to partial parse the file like just ignore the >> unrecognized structure in my new file and get the supported total file? >> >> For example, If I support new layer in caffe model, can I parse the caffe >> model without compiling my code and get all the supported layer in my old >> code? >> >> I have read the protobuf api and find ParsePartialFromIstream function, >> but it still don't work. >> >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Protocol Buffers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/protobuf. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/protobuf/f65a1540-da98-4813-b012-afad4f665841%40googlegroups.com >> >> <https://groups.google.com/d/msgid/protobuf/f65a1540-da98-4813-b012-afad4f665841%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/6865cb5d-063a-4598-a6a0-af7a2461431b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
