如何编写我自己的protobuf代码生成器

时间:2015-03-10 07:25:03

标签: protocol-buffers

Google protobuf是RPC的一个很好的IDL。但我想知道如何为protobuf编写自己的代码生成器。

1 个答案:

答案 0 :(得分:6)

protoc编译器可以输出.proto文件的protobuf格式描述。这样,大部分解析已经为您完成,您只需要生成所需的输出。

.proto文件描述的.proto架构在这里: https://github.com/google/protobuf/blob/master/src/google/protobuf/descriptor.proto

作为附加步骤,您可以通过“-mygenerator-out =”使您的发电机可运行。 protoc本身的选项: https://developers.google.com/protocol-buffers/docs/reference/other

这是一个关于如何用Python编写代码生成器的示例(尽管有点复杂): https://github.com/nanopb/nanopb/blob/master/generator/nanopb_generator.py