Tag: idl

C结构(C ++ POD)和谷歌protobufs之间的转换?

我的代码目前传递了很多(有时是嵌套的)C(或C ++ Plain Old Data)结构和数组。 我想将这些转换为谷歌protobufs。 我可以手动编写在这两种格式之间进行转换的代码,但是自动生成此类代码的错误会更少。 做这个的最好方式是什么? (对于有足够内省的语言来迭代成员变量的名称,这很容易,但这是我们所讨论的C ++代码) 我正在考虑的一件事是编写解析C结构的python代码,然后吐出一个.proto文件,以及为所有类型从成员复制到成员(在任一方向上)的C代码,但也许有一个更好的方式……或者可能有另一个已经可以生成的IDL: .h文件包含所有嵌套类型 .proto文件包含等价物 .c文件,其函数可复制.proto文件生成的C ++结构与.h文件中定义的结构之间的任一方向