protobuf学习笔记

本文介绍了Protocol Buffers(protobuf),一种小巧、快速、简单的数据序列化工具,对比XML和JSON。详细讲述了protoc的Linux(CentOS)和Windows安装步骤,以及protobuf协议的定义,包括message、enum、嵌套消息以及proto2和proto3的区别。同时,讨论了protobuf在数据传输中的使用,包括序列化和反序列化操作。
摘要由CSDN通过智能技术生成

protobuf官方网址:https://developers.google.com/protocol-buffers
github源码:https://github.com/protocolbuffers/protobuf

1. protobuf是什么

“Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. ”

Protocol Buffers(协议缓冲区)是一种语言中立、平台中立的可扩展机制,用于序列化结构化数据,类似于XML和json,但protobuf更小巧,更快速,更简单

简单点说,protobuf就是一种用于数据传输时将数据序列化和反序列化的一个跨平台(支持目前主流的各种语言)工具库,我们可以自定义传输的数据格式(类似C++中的结构体),我们就将这个格式称为一种协议,我们将这个数据传输协议写好,也就是我们需要写的".proto"文件,然后通过proto工具通过命令就可以生成我们需要的文件,例如对于C++,我们写好.proto文件后,在Linux或cmd中在.proto同级下输入命令,protoc --cpp_out=. ./文件名.proto,就会生成两个"文件名.pb.cc"和"文件名.pb.h"的文件,这个生成的文件中proto给我们封装好了各种方法,包括对某个字段的get和set方法(不过不是直接使用get和set函数,其他函数名,先往后看),以及序列化和反序列化的函数都给我们直接生成了,直接使用,非常方便。

2. protoc的安装

官方安装教程:https://github.com/protocolbuffers/protobuf/blob/master/src/README.md

2.1 Linux(CentOS)安装protoc步骤:

首先需要安装:

  • autoconf
  • automake
  • libtool
  • make
  • g++
  • unzip

直接使用yum安装,例如yum install autoconf,此外安装g++的时候不是直接使用yum install g++,而是 yum install gcc-c++

如果yum找不到的话就先安装一下epel,命令是yum install -y epel-release,因为CentOS是开源的,很多软件可能没有,epel相当额外的一个应用商城,可以扩充yum的软件库。

此外还需要安装cmake3,yum install cmake3,如果下面安装的时候依然找不到,那就给cmake3软连接到cmake,因为默认命令可能是直接用cmake,而cmake3的命令要用cmake3,使用下面命令 ln -s /usr/bin/cmake3 /usr/bin/cmake,就可以创建一个类似于快捷键的东西,让cmake指向cmake3

然后按照如下方式安装(下面的方法不是官方的方法,我之前使用官方方法安装会提示缺少一些库导致安装失败,使用下面的方法不会报错,可能官方方法的更适合unix,CentOS上会有一些问题)

wget这里可以自定义需要安装的版本,这里是proto3

cd /opt
wget -O protobuf-3.17.3.tar.gz https://codeload.github.com/protocolbuffers/protobuf/tar.gz/refs/tags/v3.17.3
tar -zxf protobuf-3.17.3.tar.gz
cd protobuf-3.17.3/cmake/
mkdir build && cd build
cmake … -Dprotobuf_BUILD_TESTS=OFF
make -j4 install

安装好后使用 proto --version命令看看是否出现版本号,出现则代表安装成功

2.2 windows安装protoc步骤:

直接去githun下载后,然后解压,然后再在环境变量里面配置一下即可,在环境变量中,Path一栏加入解压后的bin目录即可,例如D:\protoc-3.17.3-win64\bin,然后到cmd中使用 pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值