谷歌protobuf是RPC的一个很好的IDL.但我想知道如何为protobuf编写自己的代码生成器. 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