protobuf 学习的过程和坑

protobuf学习

protobuf 安装

下载

方法一:===> git clone https://github.com/protocolbuffers/protobuf.git

方法二:===> 或者将准备好的压缩包进行拖入
	解压到$GOPATH/src/github.com/protocolbuffers/下面
	Unzip protobuf.zip

安装

(1)安装依赖工具(联网)
$ sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y

(2)进入protobuf文件
cd protobuf/

(3)进行安装检测 并生成自动安装脚本
./autogen.sh
./configure

(4)进行编译C代码
make

(5)进行安装
sudo make install

(6)刷新linux共享库关系
sudo ldconfig

出现的问题,直 make 安装不了,要使用超级权限。并将install-sh设置

chomd 777 install-sh

测试是否安装成功

protoc -h 如果没有error证明没有什么问题

bug 使用终端测试没问题,但是在golang的终端里无法显示。
使用
出现了bug,报出错误信息 zsh: command not found: protoc
参考下文。

https://cnblogs.com/DI-DIAO/p/12588406.html

protobuf编译命令

protoc  --go_out=./ *.proto
protoc-gen-go: unable to determine Go import path for "mypb.proto"

Please specify either:
        • a "go_package" option in the .proto source file, or
        • a "M" argument on the command line.

See https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.

--go_out: protoc-gen-go: Plugin failed with status code 1.

解决方法:主要原因是没有找到路径,所以需要在proto文件中设置路径参考下篇文章

https://blog.csdn.net/fujian9544/article/details/116809779

protobuf 注册rpc

service 服务名{
rpc 函数名(参数:消息体) returns(返回值:消息)
}
message Doing{
	string name =1;
}
message Runing{
	int32 milk =2;
}
例如:
service sayhello{
rpc SayHi(Doing) returns(Runing)
}
										protobuf

知识点:

  1. 默认,protobuf,编译期间,不编译服务。想要使之编译。需要使用gPRC。

  2. 使用的编译指令为:

    protoc --go_out=plugins=grpc:./ *.proto
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于学习 Protocol Buffers(protobuf),您可以从以下几个方面入手: 1. 官方文档:首先,您可以查阅 Protocol Buffers 的官方文档,它提供了详细的说明、示例和教程,可以帮助您了解 protobuf 的基本概念和用法。官方文档地址为:https://developers.google.com/protocol-buffers/docs/overview。 2. 安装和使用:接下来,您可以按照官方文档中的指引,安装 Protocol Buffers 工具集,并学习如何使用 protobuf 编译器(protoc)生成指定语言的代码。您可以选择使用 C++、Java、Python 等支持 protobuf 的编程语言进行学习和实践。 3. 语法和消息定义:了解 protobuf 的语法和消息定义是非常重要的。您可以学习如何定义消息类型、字段和其他高级特性,以及如何使用扩展、嵌套消息等。官方文档中有详细的说明和示例,帮助您掌握这些概念。 4. 应用场景:除了基本的语法和消息定义,了解 protobuf 在实际应用中的使用也是很重要的。您可以了解如何在网络通信中使用 protobuf 进行数据传输,如何进行数据序列化和反序列化,以及如何处理不同语言之间的兼容性等问题。 5. 其他资源:除了官方文档,还有一些其他的学习资源可以帮助您更深入地学习和应用 protobuf。例如,可以阅读相关的书籍、博客文章,参与开源项目和社区讨论等。 希望以上信息对您有所帮助!如果您有其他问题,我会尽力回答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值