0

我在编写自定义协议插件时遇到了麻烦。我发布了这个问题,但没有回应。至少请让我知道几个问题的答案。我真的需要这样做。我还没有迈出第一步。

  1. 从这个问题,他们如何将 shell 脚本与插件名称 protoc-gen-code 链接起来。

    java -cp ./codegen.jar CodeGeneratorMain "$@"

  2. 关于问题和谷歌原型缓冲区文档中的上述实现,路径中究竟会有什么......它是Shell脚本的路径吗?shell脚本会被命名为protoc-gen-code吗?

有人可以回答这些问题。

4

1 回答 1

0

protoc可以通过一次调用为几种不同的语言生成代码。指定所需语言的方式是使用表单的命令行参数--LANG_outwhere LANGis the language you want。So--cpp_out为您提供 C++ 代码、目录、--js_outJavaScript 等。如果protoc无法识别LANG,则它会查找名为的插件protoc-gen-LANG并将其用作代码生成器。

可以调用任何 shell 脚本。假设您调用它mygen.sh并且您决定要mylang用作 LANG。然后protoc调用看起来像:

protoc --plugin=protoc-gen-mylang=/path/to/mygen.sh --mylang_out=/some/dir some.proto
于 2020-06-07T19:36:05.793 回答