Conversion between C structs (C++ POD) and google protobufs?

前端 未结 3 2002
南旧
南旧 2021-02-08 22:51

I have code that currently passes around a lot of (sometimes nested) C (or C++ Plain Old Data) structs and arrays.

I would like to convert these to/from google protobu

3条回答
  •  [愿得一人]
    2021-02-08 23:13

    Protocol buffers can be built by parsing an ASCII representation using TextFormat. So one option would be to add a method dumpAsciiProtoBuf to each of your structs. The method would dump any simple fields (like strings, bools, etc) and call dumpAsciiProtoBuf recursively on nested structs fields. You would then have to make sure that the concatenated result is a valid ASCII protocol buffer which can be parsed using TextFormat.

    Note though that this might have some performance implications (since parsing the ASCII representation could be expensive). However, this would save you the trouble of writing a converter in a different language, so it seems to be a convenient solution.

提交回复
热议问题