一、PB简介
PB 是 Protocol Buffers 的简称。Protocol Buffers 是一种由 Google 开发的数据序列化格式,用于结构化数据的存储、交换和通信。它是一种轻量、高效、可扩展的数据交换格式。
PB 通过使用预定义的消息类型和二进制编码来表示数据。你可以使用 Protocol Buffers 的定义语言(Protocol Buffers IDL)来定义数据结构和消息类型,然后使用相应的编译器将定义文件编译成特定编程语言的类或结构体,从而实现在不同编程语言中使用 Protocol Buffers。
Protocol Buffers 优点如下:
- 简洁高效:Protocol Buffers 使用二进制编码,相比于文本格式如 XML 和 JSON,它的编码更紧凑,解析速度更快,占用的存储空间更小。
- 可扩展:可以在不破坏现有数据结构的情况下向消息中添加新字段,旧版本的解析器可以忽略新字段而继续解析旧数据。
- 跨平台和语言支持:Protocol Buffers 支持多种编程语言,包括 C++, Java, Python, Go, JavaScript 等,这使得不同平台和语言之间的数据交换更加方便。
- 易于维护和版本控制:在更改数据结构时,可以更新 Protocol Buffers 的定义文件,并使用编译器生成新的类或结构体,从而简化了维护和版本控制的过程。
总之,PB(Protocol Buffers)是一种用于数据序列化和交换的格式和工具集,广泛应用于各种分布式系统、通信协议、存储和数据交换场景中。
二、下载protobuf
-
官方链接 github-protobuf
-
下滑页面选择所需的protobuf版本
- 根据系统选择压缩包,此处Windows系统选择[protoc-25.0-rc-2-win64.zip]
- 解压后复制路径
三、设置环境变量
- 电脑搜索【编辑系统环境变量】
- 将protobuf安装路径,添加到系统变量path中
- win+R输入cmd打开控制台,运行
protoc --version
,若出现下图所示版本信息,则代表protobuf环境变量已配置好。
四、运行protobuf
-
编写.proto文件
syntax = "proto3"; package tutorial; message Person { string name = 1; int32 id = 2; string email = 3; }
-
根据.proto文件路径在控制台输入指令
protoc -I=<proto文件目录> --cpp_out=<输出目录> <proto文件名> //示例 protoc -I=G:\PB\protoc-25.0-rc-2-win64\include --cpp_out=G:\PB\protoc-25.0-rc-2-win64\include person.proto
- 运行后在输出目录中会产生对应的.pb.h和.pb.cc文件