前言

那么这里博主先安利一些干货满满的专栏了!

首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。

高质量博客汇总https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482

什么是protobuf,怎么用?

如果大家有兴趣的话,博主以后专门开一个系列讲解。

安装步骤

一、下载protobuf和解压压缩包

安装地址:https://github.com/protocolbuffers/protobuf/releases

可以按照需要选择语言对应的,但是这里我选择了all,就是所有语言都可以用的,我下载的是21.12的版本。

然后直接wget下载吧,或者你下载到本地然后拖到服务器(虚拟机)里面去也可以。我这里直接wget了。

首先先复制选中这个的压缩包的网址,然后复制到wget上

wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-all-21.12.tar.gz

wget后面这个网址就是你复制的网址。

下载好之后肯定就是解压这个压缩包了,如果你下载了zip那就用unzip解压,如果你下载的是tar.gz那你就用tar解压,这些都是系统的知识,这里也不多说了,直接解压。

我这里是tar.gz所以直接

tar -xvf protobuf-all-21.12.tar.gz

你也不要直接复制代码,我后面压缩包的名字可能和你不一样,自己调整一下即可。

解压好之后就cd进去那个protbuf的文件夹里面去。

cd protobuf-21.12

二、安装protobuf

第一步

进去文件夹之后可以看到有个autogen.sh脚本,直接运行它。

注意:如果你不是安装all的版本,而是安装某个语言的版本,就不用执行这一步。

./autogen.sh

第二步

./configure--prefix=/usr/local/protobuf

第三步

# 其实此时可以ls一下,出现了一个makefile文件的
make # 要15min左右
make check # 检查是否make好(可以跳过)也要15min左右
sudo make install # 安装

三、修改配置文件

要修改这个文件 /etc/profile

所以直接sudo vim一下

sudo vim /etc/profile

vim怎么用这里就不教大家了,大家不会用的可以上网找。

把这些东西粘贴到这个文件里面去。

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

然后source一下就行了。

source /etc/profile

四、检查是否安装成功

protoc --version # 检查版本,看是否安装成功

如果出现了以下则表明安装成功

centos7安装protobuf|序列化和反序列化工具的更多相关文章

  1. xml序列化与反序列化工具

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  3. SerializeUtil 序列化,反序列化工具类

    package cloud.app.prod.home.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...

  4. ProtoBuf序列化和反序列化方法

    最近公司需要将以前的协议全都改成ProtoBuf生成的协议,再将结构体打包和解包过程终于到一些问题 ,无法使用Marshal.SizeOf计算结构体大小,最后找了一下ProtoBuf的文档,可以用它自 ...

  5. megajson 高性能的json序列化、反序列化工具

    go 自带的 encoding/json 支持json的序列化和反序列化, 然而它是基于反射的,有下面几个缺点: 反射是性能差的代名词, 并且无法在编译时进行优化. 只有 Public 字段才可以,反 ...

  6. Google protobuf序列化以及反序列化

    序列化的目的是将对象持久化到硬盘或者用于网络传输.java也提供了序列化技术,非常简单,只要实现Serializable接口即可.如下: public class commonService impl ...

  7. 几种常用的json序列化和反序列化工具介绍

    一.前言 Json序列化和反序列化工作中会时常用到,也是目前数据交互的常用格式,Rest风格的接口加上json格式的数据交互,真的是天作之合. 目前Json字符与Json对象的相互转换方式有很多,接下 ...

  8. protobuf序列化、反序列化

    引用dllprotobuf-net.rar /// <summary> /// buf序列化 /// </summary> public static String Seria ...

  9. Java数据通讯中使用Googgle Protobuf 序列化与反序列化

    概念 1.什么是protocol buffer ProtocolBuffer是用于结构化数据串行化的灵活.高效.自动的方法,有如XML,不过它更小.更快.也更简单.你可以定义自己的数据结构,然后使用代 ...

  10. 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具

    ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...

随机推荐

  1. POJ:Arbitrage (搜索,汇率换算是否赚?)

    POJ 2240 http://poj.org/problem?id=2240 题意:判断是否存在使得汇率增多的环 [任意一个点的汇率增多都可以] Floyd 简单变形 \(w[i][j] = max ...

  2. #627 DIV3 题解

    A. 每组给一个和个数(),每次操作可以给一个加2,求是否能使n个数相等 4 3 1 1 3 4 1 1 2 1 2 11 11 1 100 YES NO YES YES 直接扫一遍,记录最大值与当前 ...

  3. [GFCTF 2021]web部分题解(更新中ing)

    [GFCTF 2021]Baby_Web 拿源码环节: 打开环境(◡ᴗ◡✿) 乍一看什么都没有,F12下没看到js文件,但是看到了出题师傅的提示:"源码藏在上层目录xxx.php.txt里面 ...

  4. vue判断用户在页面停留时间是否超时

    需求 当用户停留超过15分钟后,用户提交订单,提示用户超时并重新加载页面 代码 data () { return { // 超时定时器 overTimer: null, // 是否超时 isOvert ...

  5. Vue第五篇 Vue的生命周期

    Vue生命周期简介 生命周期的钩子函数 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. 【rt-thread】Kconfig文件添加子Kconfig文件时是以顶级Kconfig所在目录为当前路径的

    示例如下 顶级Kconfig文件所在目录 子级Kconfig文件所在目录 子级Kconfig文件添加次子级Kconfig文件,以顶级目录为当前路径依次写出次子级Kconfig文件所在目录

  7. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.1)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  8. ONVIF网络摄像头(IPC)客户端开发—RTSP RTCP RTP加载H264视频流

    前言: RTSP,RTCP,RTP一般是一起使用,在FFmpeg和live555这些库中,它们为了更好的适用性,所以实现起来非常复杂,直接查看FFmpeg和Live555源代码来熟悉这些协议非常吃力, ...

  9. [转帖]ORACLE新参数MAX_IDLE_TIME和MAX_IDLE_BLOCKING_TIME简介

    https://www.cnblogs.com/kerrycode/p/16856171.html Oracle 12.2 引入了新参数MAX_IDLE_TIME.它可以指定会话空闲的最大分钟数.如果 ...

  10. oceanbase部署维护命令学习

    oceanbase部署维护命令学习 背景 之前学习过TIDB数据库, 最近又准备学习一下Oceanbase数据库 发现其实两者还是比较相似的. 比较大的区别在于. TiDB是完全开源的, 并且比较明确 ...