【发布时间】:2015-03-10 07:25:03
【问题描述】:
Google protobuf 是一个不错的 RPC IDL。但我想知道如何为 protobuf 编写自己的代码生成器。
【问题讨论】:
标签: protocol-buffers
Google protobuf 是一个不错的 RPC IDL。但我想知道如何为 protobuf 编写自己的代码生成器。
【问题讨论】:
标签: protocol-buffers
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
【讨论】: