Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
文章目录1. Protocol BuffersProtobuf简介2. v35.1 版本亮点3. 获取安装包4. 快速开始常用命令1. Protocol BuffersProtobuf简介Protocol Buffers简称 protobuf是 Google 开发的语言中立、平台中立、可扩展的结构化数据序列化机制于 2008 年 7 月 7 日正式开源。作为 Google 内部自 2001 年起使用的核心技术protobuf 已成为云原生和微服务生态的基础设施级组件被 Kubernetes、gRPC、Terraform 等重量级项目广泛采用。截至 2026 年中protobuf 在 GitHub 上拥有超过71,300 颗 Star、16,200 Fork全球排名约第 233 位累计有 1,200 多位贡献者参与开发。项目由 Google 主导维护保持高频更新。Protobuf 的核心价值在于以高效、紧凑的二进制格式进行结构化数据的序列化和反序列化相比 JSON 和 XML 体积更小、速度更快、Schema 约束更强。其核心功能包括跨语言支持原生支持 C、Java、Python、Go、JavaScript、C#、Ruby、PHP、Dart、Objective-C 等十余种编程语言Schema 驱动通过 .proto 文件定义数据结构自动生成各语言的数据访问类data access class向前/向后兼容字段编号机制确保新旧版本数据可互相解析无需同步升级Protocol Compilerprotoc将 .proto 文件编译为各目标语言的代码是生态的核心编译器工具多版本共存支持 proto2、proto3 以及更灵活的 Editions2023 年引入三种语法规范2. v35.1 版本亮点该版本汇集了多位贡献者的提交。Bazel 构建系统为 csharp、hpb、objc、php、python、rust 和 upb 新增 Bazel 9 测试解除 protobuf 对 Bazel proto fragment 的依赖仅遵循 Starlark 版本的--proto_toolchain_for*参数。这是自 35.0 以来的破坏性变更但与 34.x 的行为保持一致C为 repeated string 字段新增 cord setter 方法UPBPython/PHP/Ruby C 扩展通过切换到 XCT section 避免 upb 中的未定义行为UB使构造函数在编译器生成的初始化器之前运行3. 获取安装包如果访问 GitHub 不便安装包及中文文档https://hanshuixin.org/go/224J内含 protoc-35.1-linux-x86_64.zip、README 中英对照、发布说明中英对照和 LICENSE。适用于 Linux x86_64amd64。Linux安装protobuf-v35.1protoc-35.1-linux-x86_64.zip ├── protoc-35.1-linux-x86_64.zip ├── Linux安装protobuf-v35.1protoc-35.1-linux-x86_64.pdf ├── README/ │ ├── README.md │ └── README-中文版.md ├── 发布说明/ │ ├── RELEASE-NOTES.md │ └── RELEASE-NOTES-中文版.md └── LICENSE4. 快速开始解压整合包根目录中的protoc-35.1-linux-x86_64.zip将解压出的bin/protoc放入系统 PATH 路径中即可使用。常用命令# 查看 protoc 版本protoc--version# 编译 .proto 文件生成 C 代码protoc--cpp_out. your_file.proto# 编译 .proto 文件生成 Python 代码protoc--python_out. your_file.proto# 编译 .proto 文件生成 Java 代码protoc--java_out. your_file.proto# 指定 proto 文件搜索路径protoc -I./protos--cpp_out./out ./protos/your_file.proto