解析Proto文件并生成纯C结构体的脚本

3
我正在尝试解析目录中可用的proto文件,并创建相应的普通C结构。所有当前的库都创建C++类,这在我的存储库中不受支持(非常过时的存储库 :))是否有任何库可以用于此目的。
例如。 {{link1:address.proto}}
应该解析此proto文件,并能够创建以下结构。样本提取。
struct PhoneNumber_s {
    char number[15]
    PhoneType type;
} PhoneNumber_t;

enum PhoneType {
   MOBILE = 0;
    HOME = 1;
    WORK = 2;
}

生成代码可能基于类型很简单。但解析器(Python或任何其他语言)是所需的关键信息。

提前感谢。


你有没有查看过 C 语言的各种 protobuf 库? - jpa
1个回答

0
简短的回答是,你无法以有意义的方式完成它。除了手动创建相应的C结构之外,你最好的选择是编写一个简短的程序,该程序获取protobuf编译器的输出并使用反射来推导字段名称和类型,然后从中生成C源代码。当然,接下来你还需要弄清楚如何在C中进行序列化/反序列化,但那是另一回事了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接