当前位置: 首页 > wzjs >正文

旅游投资公司网站建设公众号电脑版登陆入口

旅游投资公司网站建设,公众号电脑版登陆入口,网络推广产品公司,不用下载直接浏览的网站目录 一、序列化概念 二、ProtoBuf 是什么 三、ProtoBuf 的使用特点 ProtoBuf 在不同操作系统下的安装 一、ProtoBuf 在 Windows 下的安装 二、ProtoBuf 在 Linux 下的安装 三、检查是否安装成功 安装教程 可以直接目录跳转到后面 笔记参考:官方文档 一、序…

目录

一、序列化概念

二、ProtoBuf 是什么

三、ProtoBuf 的使用特点

ProtoBuf 在不同操作系统下的安装

一、ProtoBuf 在 Windows 下的安装

二、ProtoBuf 在 Linux 下的安装

三、检查是否安装成功


安装教程 可以直接目录跳转到后面

笔记参考:官方文档


一、序列化概念

序列化和反序列化

  • 序列化:将对象转换为字节序列的过程称为对象的序列化。
  • 反序列化:将字节序列恢复为对象的过程称为对象的反序列化。

什么情况下需要序列化?

  • 存储数据当我们想把内存中的对象状态保存到一个文件中或者存到 数据库 中时,就需要进行序列化。
  • 网络传输虽然网络可以直接传输数据,但无法直接传输对象。因此,在传输前需要对对象进行序列化,在传输完成后进行反序列化以恢复对象。例如,在 socket 编程中发送与接收数据时就需要这样做。

如何实现序列化?

  • 可以通过多种方式实现序列化,包括 XML、JSON 和 Protocol Buffers(简称 ProtoBuf)等。

二、ProtoBuf 是什么

  • 根据官方定义,Protocol Buffers(ProtoBuf)是 Google 提供的一种语言无关、平台无关、可扩展的 序列化结构数据的方法 ,适用于通信协议、数据存储等领域。
  • ProtoBuf 类似于 XML,但是它更小、更快、更简单。ProtoBuf 提供了一种灵活且高效的自动化机制来序列化结构化数据。
  • 用户可以定义数据结构,然后使用特殊生成的源代码轻松地在各种数据流中使用多种语言编写和读取结构化数据。甚至可以在更新数据结构的同时,不破坏由旧数据结构编译的已部署程序。

简单来说,ProtoBuf(全称为 Protocol Buffer)是一种让结构化数据序列化的方法,具有以下特点:

    • 语言无关、平台无关支持 Java、C++、Python 等多种语言,并支持多个平台。
    • 高效相比 XML 更小、更快、更为简单。
    • 扩展性、兼容性好即使更新了数据结构,也不会影响或破坏已经存在的旧程序。

三、ProtoBuf 的使用特点

  1. 编写 .proto 文件:首先需要 编写 .proto 文件,用于定义结构化的对象(即 message)及其属性内容。
  2. 使用 protoc 编译器编译 .proto 文件:接下来,使用 protoc 编译器编译 .proto 文件,这会生成 一系列接口代码,并存储在新生成的头文件和源文件中。
  3. 依赖生成的接口:将编译生成的头文件包含进我们的代码中,以便实现对 .proto 文件中定义的字段进行设置和获取,以及对 message 对象进行序列化和反序列化。

使用特点:ProtoBuf 需要依赖通过编译生成的头文件和源文件来使用。

有了这种 代码生成机制,开发人员再也 不用吭哧吭哧地编写那些协议解析的代码了(干这种活是典型的吃力不讨好)


ProtoBuf 在不同操作系统下的安装

一、ProtoBuf 在 Windows 下的安装

1. 下载 ProtoBuf 编译器

  • 下载地址:github.com
  • 可以根据电脑情况选择是否下载最新版本。

  • 下载后,将压缩包解压到本地目录。解压后的文件夹内包含 bin、include 文件以及一个 readme.txt。

2. 配置环境变量

  • 将解压后文件夹中的 bin 目录添加到系统环境变量的 Path 中。

3. 检查是否配置成功

  • 打开 cmd,输入命令 protoc --version 查看版本信息。
  • 如果有显示版本号,说明安装成功。

也可以看这篇前文,借助 vcpkg 安装的 protobuf:

[ChatClient_1] 服务拆分 | 环境搭建 | model_1 | 命名


二、ProtoBuf 在 Linux 下的安装

1. 下载 ProtoBuf

  • 在下载 ProtoBuf 前,确保已安装依赖库:autoconf automake libtool curl make g++ unzip。
    • Ubuntu 用户可使用以下命令安装:sudo apt-get install autoconf automake libtool curl make g++ unzip -y
    • CentOS 用户则使用:sudo yum install autoconf automake libtool curl make gcc-c++ unzip

  • 下载地址:github.com
  • 根据需要选择对应的版本:
    • C++:cpp.zip
    • JAVA:java.zip
    • 支持全部语言:all.zip(例如选择 protobuf-all-21.11.zip)

  • 使用 wget 命令下载:wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip

  • 下载完成后,使用 unzip protobuf-all-21.11.zip 解压,并进入解压后的文件夹:cd protobuf-21.11


2. 安装 ProtoBuf

进入解压好的文件,执行以下命令:

# 第⼀步执⾏autogen.sh,但如果下载的是具体的某⼀⻔语⾔,不需要执⾏这⼀步。
./autogen.sh # 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下:
# 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的
./configure 
# 2、修改安装⽬录,统⼀安装在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf

第一步:因为上面我选择的是 all.zip,所以需要执行:./autogen.sh

第二步:选择统一安装(推荐):./configure --prefix=/usr/local/protobuf

再依次执行:

make // 执⾏15分钟左右
make check // 执⾏15分钟左右
sudo make install

第一步:make

第二步:make check

有的人可能会在 make check 出现错误

出现错误的原因是 test 的模块里面有非常多的测试用例,这些用例对服务器环境要求特别严格,需要增大下 swap 分区,具体操作可参考:

Ubuntu 18.04 swap分区扩展_ubuntu18.04 如何查看swapfile文件路径-CSDN博客

(建议可以先扩大 3G,再执行 make check。如果还是报错,再扩大到 5G 重新执行 make check,如果 swap 分区为 0,就直接跳过这一步 make check)

  • 执行 make check 后,出现以上内容就可以执行第三步:sudo make install

如果在执行 configure 时,当时选择了第一种执行方式,也就是:./configure,那么到这就可以正常使用 protobuf 了。

但如果是选择了跟我一样的第二种执行方式,即修改了安装目录:./configure --prefix=/usr/local/protobuf,那么还需要在 /etc/profile 中添加一些内容:

# 添加内容如下:#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执⾏程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头⽂件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头⽂件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

先执行命令:sudo vim /etc/profile

最后一步,重新执行 /etc/profile 文件:

source /etc/profile

三、检查是否安装成功

  • 输入 protoc --version 查看版本信息

若有显示则说明安装成功啦~


文章转载自:

http://I4yhYZQc.kcwkt.cn
http://cLboNtu4.kcwkt.cn
http://lcTO83H3.kcwkt.cn
http://5OTohftZ.kcwkt.cn
http://1escNNRj.kcwkt.cn
http://kKRnzIfG.kcwkt.cn
http://bjiFjf8s.kcwkt.cn
http://ifP3w6Yt.kcwkt.cn
http://rduXwPxF.kcwkt.cn
http://cPffB6Rf.kcwkt.cn
http://LwRewFBS.kcwkt.cn
http://ehz3rDvv.kcwkt.cn
http://A73vOnZX.kcwkt.cn
http://nncO0pCI.kcwkt.cn
http://0NMSaaO1.kcwkt.cn
http://8UVgXFoV.kcwkt.cn
http://E4AA28bM.kcwkt.cn
http://9Lijsmev.kcwkt.cn
http://9faW2gPA.kcwkt.cn
http://3ltIT4bb.kcwkt.cn
http://E0YdHeOd.kcwkt.cn
http://fBvEwY6E.kcwkt.cn
http://lOrI22OZ.kcwkt.cn
http://cKgjBcGq.kcwkt.cn
http://Il9QAnYn.kcwkt.cn
http://BOL3r0EJ.kcwkt.cn
http://1dnm1qry.kcwkt.cn
http://dLHSZfBR.kcwkt.cn
http://e5pshNVU.kcwkt.cn
http://ifFR7iWV.kcwkt.cn
http://www.dtcms.com/wzjs/637503.html

相关文章:

  • 用网站的源代码怎么做网站有意思的网站
  • 网站如何做标题优化做网站一般不选用的图片格式
  • 乐陵市住房和城乡建设局网站typecho对比wordpress
  • 公司做竞拍网站的收入怎么报税用模板做网站需要懂代码吗
  • 客户网站开发全流程南昌房产网
  • 宁波网站建设制作推广优化网站服务
  • 天津市建设安全协会网站网店运营推广1+x证书查询
  • 企业网站如何去做优化英语字体设计网站好
  • 展示型网站搭建wordpress搬家文章
  • WordPress下拉下一页企业营销型网站seo推广
  • 开公司先建设网站外国网站欣赏
  • linux 搭建网站服务器ai海报设计
  • 湖北网站建设制作网站备案成功后该怎么做
  • 网站字体大小选择wordpress博客重装
  • 开发网站的流程广州联享品牌网站建设
  • 宽城区网站建设wordpress文章标题字体
  • 怎样建网站视频教程手把手教建设网站
  • 家居网站建设定位分析论文wordpress永久链接设置的六大技巧
  • 建网站需要多少钱2017wordpress登陆界面背景
  • 地下城钓鱼网站怎么做织梦做旅游网站
  • 德邦物流公司现代物流网站建设与开发标书制作代做公司
  • 网站开发计什么科目wordpress客户使用的后端
  • 做网站时链接的网页无法显示搭建网站需要学什么软件
  • 网站被做301跳转了怎么办新版wordpress没有关键词
  • 一个人制作网站智慧团建网站登录平台pc端
  • 银川网站建设0951手机app下载网
  • 备案个人网站名称wap网站软件
  • 建立自己的网站步骤网站 平均加载时间
  • 设计logo网站免费国外如何在各大网站发布信息
  • 三五互联网站建设怎么样莱芜吧莱芜贴吧