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

桂林有帮做公司网站吗十堰市公司网站建设

桂林有帮做公司网站吗,十堰市公司网站建设,wordpress首页调用指定分类,培训机构还能开吗目录 一,介绍 1.1 序列化概念 1.2 什么是 Protobuf 1.3 使用特点 二,安装 Protobuf 2.1 Windows 下安装 2.2 Linux 下安装 一,介绍 protobuf在百度百科里的介绍如下: 1.1 序列化概念 关于对象的序列化和反序列化: 序…

目录

一,介绍

1.1 序列化概念

1.2 什么是 Protobuf

1.3 使用特点

二,安装 Protobuf

2.1 Windows 下安装

2.2 Linux 下安装

一,介绍

protobuf在百度百科里的介绍如下:

1.1 序列化概念

关于对象的序列化和反序列化:

  • 序列化:把对象转换成字节序列的过程,比如打视频电话,将声音信号和光信号转换成能够让机器识别的二进制信号
  • 反序列化:将字节序列恢复为对象的过程,比如视频电话中对方能从手机看到我发手机摄像头内容和声音

什么时候需要序列化?

  • 存储数据:当你想把的内存中的对象状态保存到一个文件中或者存到数据库中时
  • 网络传输:网络直接传输数据,但是无法直接传输对象,所以要在传输前序列化,传输完成后反序列化成对象。例如我们之前学习过socket编程中发送与接收数据:计算机网络(五) —— 自定义协议简单网络程序-CSDN博客

如何实现序列化?

  • xml:可扩展标记语言,被设计用来传输和存储数据,不用于表现和展示数据,HTML 则用来表现数据
  • json:JSON格式化是指将JSON数据以一种清晰、易读的方式进行排列和显示,我们上面链接中的博客中使用的就是json
  • protobuf:我们本系列的主角

1.2 什么是 Protobuf

  • Protocol Buffers 是 Google 的一种语⾔无关、平台无关、可扩展的序列化结构数据的方法,可用于(数据)通信协议、数据存储
  • Protocol Buffers 类比于XML,更种灵活、高效、自动化机制的结构数据序列化方法,但是比 XML更小、更快、更为简单
  • 可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。甚至可以更新数据结构,而不破坏由旧数据结构编译的已部署程序

简单来说,Protobuf是让数据结构序列化的一套方案,特点有:

  • 语言无关、平台无关:ProtoBuf支持Java、C++、Python等多种语言,⽀持多个平台
  • 高效:即比XML更小、更快、更为简单
  • 扩展性、兼容性好:可以更新数据结构,而不影响和破坏原有的旧程序

1.3 使用特点

  • 编写.proto文件,定义结构对象(message)及属性内容
  • 使用 protoc 编译器编译 .proto 文件,生成⼀系列接口代码,存放在新生成头文件和源文件中
  • 依赖生成的接口,将编译生成的头文件包含进我们的代码中,实现对 .proto 文件中定义的字段进行设置和获取,和对 message 对象进行序列化和反序列化

总的来说:ProtoBuf是需要依赖通过编译生成的头文件和源文件来使用的

这种代码生成机制可以让开发人员可以大大降低编写协议解析的代码的成本

二,安装 Protobuf

2.1 Windows 下安装

官方仓库为:Releases · protocolbuffers/protobuf · GitHub

我们以V21.11为例,找到对应的电脑配置下载即可:Release Protocol Buffers v21.11 · protocolbuffers/protobuf · GitHub

下载好后解压,是个这样的文件夹:

我们把bin这个文件夹路径加到环境变量Path中去:

打开cmd,查看版本,有显示说明安装成功:

2.2 Linux 下安装

下面以 Ubuntu 系统为例

下载Protobuf 前要安装依赖库:autoconfautomakelibtoolcurlmakeg++unzip

sudo apt-get install autoconf automake libtool curl make g++ unzip -y

安装好后,再次打开:Release Protocol Buffers v21.11 · protocolbuffers/protobuf · GitHub

all 表示 protobuf支持所有语言,然后在 Shell 中使用 wget 命令就可以直接下载到服务器上:

wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip

下载需要一点时间,也可以下载到windows本地,然后通过 XShell 上传到服务器

下载后解压得到一个目录,里面是protobuf的一些源码:

进入这个文件,首先运行 autogen.sh:

然后运行 configure:

protobuf 是默认安装在 /usr/local 目录的,lib 和 bin 是分散的,所以我们可以修改下安装目录,统一安装在 /usr/local/protobuf 下

然后我们可以在刚刚解压的目录下找到一个 makefile 文件:

然后执行make让其开始编译,时间比较久,需要十多分钟,然后执行 make check 也需要十多分钟(具体时长也看机器配置,我的云服务器两个都搞了近30分钟555)

当出现这些字样说明一切正常:

然后执行下列命令:

sudo make install

到此,如果我们前面执行 configure 时没有指定安装目录,那么现在就可以正常使用 protobuf 了,但是上面我们指定了安装目录,所以我们还需要加一些东西

打开配置文件:

sudo vim /etc/profile

按U旁边的 I 键进入编辑模式,鼠标右键粘贴添加下列内容:

#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径
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/

然后按ESC键,按住Shift 键再按下W和Q键表示保存并退出,最后重新执行 /etc/profile文件:

 source /etc/profile

最后检查是否安装成功,输入检查版本命令:

 source /etc/profile

如果能打印版本,表示安装成功:

http://www.dtcms.com/a/404574.html

相关文章:

  • html源码网站建设中wordpress 时间调用
  • 做网站前端有前途么?争对银行排队做一网站
  • 免费推广网站注册入口wordpress ios api
  • 江阴做网站的成都哪些公司做网站好
  • 企业名称查询网站企业网站模板下载软件
  • 智能网站建设公司排名给一个学校网站做宣传海报
  • 彭山网站建设家具网站素材
  • html论坛网站模板下载丽水做网站公司
  • ueeshop外贸建站公司网站功能简介
  • 上海建设公司网站wordpress企业站模板下载
  • 网站秒收录工具沧州网站设计师招聘
  • 建网站大公司企业网址一般怎么设置
  • 已经有域名 如何建网站社保网站哪里做转入
  • 关于自行建设门户网站的请示长春做网站大公司
  • 凡科删除建设的网站开发流程有哪些阶段
  • 高校文明建设网站seo伪原创工具
  • 美丽寮步网站建设wordpress博客数据放在哪里的
  • 大型网站建设兴田德润实惠公司域名备案
  • 厦门手机网站制作做内部网站费用
  • 机械厂网站建设方案wordpress打开越来越慢
  • 天河网站建设方案做淘宝客没网站吗
  • 为什么做旅游网站用国外网站 图片做自媒体
  • 网站设计英文网架加工费多少钱一吨
  • 重庆手机网站方案设计吉林学校网站建设
  • 哪个网站可以做线上翻译赚钱广州电子商务网站建设
  • [优选算法专题三二分查找——NO.19x 的平方根 ]
  • 网站后台管理系统 模板深圳网站网页制作
  • 网站退出率是什么意思做外贸产品上什么网站
  • 网站开发 小程序开发如何做百度推广的网站
  • 网页制作怎么做多个网站网站设计的基本流程是什么