centos7安装protobuf|序列化和反序列化工具

前言
那么这里博主先安利一些干货满满的专栏了!
首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。
高质量博客汇总
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|序列化和反序列化工具的更多相关文章
- xml序列化与反序列化工具
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解
Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全 Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...
- SerializeUtil 序列化,反序列化工具类
package cloud.app.prod.home.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...
- ProtoBuf序列化和反序列化方法
最近公司需要将以前的协议全都改成ProtoBuf生成的协议,再将结构体打包和解包过程终于到一些问题 ,无法使用Marshal.SizeOf计算结构体大小,最后找了一下ProtoBuf的文档,可以用它自 ...
- megajson 高性能的json序列化、反序列化工具
go 自带的 encoding/json 支持json的序列化和反序列化, 然而它是基于反射的,有下面几个缺点: 反射是性能差的代名词, 并且无法在编译时进行优化. 只有 Public 字段才可以,反 ...
- Google protobuf序列化以及反序列化
序列化的目的是将对象持久化到硬盘或者用于网络传输.java也提供了序列化技术,非常简单,只要实现Serializable接口即可.如下: public class commonService impl ...
- 几种常用的json序列化和反序列化工具介绍
一.前言 Json序列化和反序列化工作中会时常用到,也是目前数据交互的常用格式,Rest风格的接口加上json格式的数据交互,真的是天作之合. 目前Json字符与Json对象的相互转换方式有很多,接下 ...
- protobuf序列化、反序列化
引用dllprotobuf-net.rar /// <summary> /// buf序列化 /// </summary> public static String Seria ...
- Java数据通讯中使用Googgle Protobuf 序列化与反序列化
概念 1.什么是protocol buffer ProtocolBuffer是用于结构化数据串行化的灵活.高效.自动的方法,有如XML,不过它更小.更快.也更简单.你可以定义自己的数据结构,然后使用代 ...
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...
随机推荐
- 版本升级 | v1.0.12发布,许可证风险早知道
新版本来啦~~~~ 一.v1.0.12更新内容 优化许可证检出功能,可通过JSON / HTML / SPDX 报告获知许可证信息 支持HTML报告自定义分页 二.更新说明 1. 优化许可证检出功能, ...
- springboot2.0+dubbo-spring-boot-starter聚合项目打可执行的jar包
springboot2.0+dubbo聚合项目打可执行的jar包 springboot2.0+dubbo-spring-boot-starter项目服务方打包和以前老版本的dubbo打包方式不一样,不 ...
- df -h与df -i的区别
一. df命令详解: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息 -a 全部文件系统列表 -h ...
- Could not get a resource from the pool 异常定位和解决
最近在服务中经常看到以下错误,进行下定位和问题解决分析: 2023-12-08 00:10:58.248 WARN [terra-sr-server,a9006fd27ccb81d0,a9006fd2 ...
- 基于python的租房网站-房屋出租租赁系统(python+django+vue)
该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品.欢迎大家提出宝贵建议. 功能介绍 平台采用B/S结构,后端采用主流的Python+Django进行 ...
- 01-UPF介绍
Mainstream Low Power techniques clock gating - 低功耗的设计风格,4bit以上可以通过综合工具增加ICG APR的时候可以更换器件VT Advanced ...
- 问题--C中结构体想要嵌套一个该结构体指针,但是系统无法识别该类型
代码如下: typedef struct_Person{ char name[64]; int age; //Person* person; //这里会出现一个问题,由于Person是在末尾定义的,那 ...
- 【ARM】为堆和栈保留空的内存块
此示例演示如何使用分散加载描述为堆栈和堆保留和清空内存块.它还显示链接器生成的相关符号. 在以下示例中,执行区域定义STACK 0x800000 EMPTY -0x10000定义了一个名为STACK ...
- 【Linux】字符驱动之sysfs接口实现
[来源]https://blog.csdn.net/qq_20553613/article/details/104556269
- sql server 数据恢复
1) 备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY 2) 恢复一个误删除之前的完全备份:RESTORE DATABA ...