gRPC奇怪的编译命令protoc

Posted ww01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gRPC奇怪的编译命令protoc相关的知识,希望对你有一定的参考价值。

举个栗子:

protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld

大神说得没错,读文档就算是全英文,读起来也比你读翻译得一般的中文文档好理解很多

protoc:https://developers.google.com/protocol-buffers/docs/gotutorial

grpc:https://grpc.io/

技术图片

最近在研究Go实现微服务,protoc与gRPC这里不作介绍,只说一点:这个命令怎么用

首先,protoc是一个编译命令,把protoc把*.protoc文件编译成*.pb.go或者*.pb2.py等等。

protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld

看一下这条命令,/helloworld 是你要提供的相对位置的相对起点,如果是当前所在目录,那就写 . (一个小数点),helloworld/helloworld.proto是你proto文件所在地,后面的 --go_out=plugins=grpc:helloworld是输出目录,如果要输出到helloworld下的hhh目录里,就写为

 protoc -I helloworld/  helloworld/helloworld.proto --go_out=plugins=grpc:helloworld/hhh

如果proto文件在helloworld目录的mizi里,那么怎么写?

 protoc -I helloworld  helloworld/mizi/helloworld.proto --go_out=plugins=grpc:helloworld/hhh

大家执行后回发现,它把mizi目录也带到hhh里,也就是把目录结构保留下来了,如果我想得到下面的结果呢?很简单,调一下相对起点就好!

技术图片

helloworld linge$  protoc -I helloworld/mizi  helloworld/mizi/helloworld.proto --go_out=plugins=grpc:helloworld/hhh

以上是关于gRPC奇怪的编译命令protoc的主要内容,如果未能解决你的问题,请参考以下文章

如何在自己的 Yocto 包中访问 protoc 编译器并引用 gRPC 库

Grpc Protobuf v1.20+ 使用说明

grpc 安装

从源代码安装 grpc 时出现“make: protoc: Command not found”

Windows上编译GRPC

grpc proto文件生成java.net实体类以及客户端代码