flatbuffers的简介、下载安装和使用教程(一)

一、简介

FlatBuffers为Google发布的一个跨平台,提供多种语言接口,注重性能和资源使用的序列化类库。

官网介绍:

https://google.github.io/flatbuffers/flatbuffers_guide_tutorial.html

二、序列化和反序列化

序列化:序列化是指把一个实例对象变成二进制内容(本质上就是一个字节数组)。把实例对象序列化的原因:序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把实例对象存储到文件或者通过网络传输出去了。

反序列化:即把一个二进制内容(字节数组)变回实例对象。有了反序列化,保存到文件中的byte[]数组又可以“变回”实例对象,或者从网络上读取byte[]并把它“变回”实例对象。

总结下来:序列化是把对象转为字节序列的过程。

                  反序列化是把字节序列转为对象的过程。

序列化的两个主要用途:①把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中。

                                       ②在网络上传送对象的字节序列(网络传输对象)。

三、flatbuffers的优点

①速度更快。

②高效的内存使用,占用空间小。

③使用简单,跨平台。

四、下载安装flatbuffers

不管是Windows还是Linux,由于按照网上的命令教程安装失败,直接下载了安装包进行安装。

1.Windows下

https://github.com/google/flatbuffers/releases  直接下载flatc

解压出来之后即可得到flatc.exe应用程序 

在flatc.exe应用程序的相同目录下编写一个后缀名为.fbs的文本

打开cmd,cd到flatc.exe应用程序的目录下,写入

flatc -c -o ./ ./名字.fbs 或者 flatc --cpp 名字.fbs

命令,即可得到名字_generated.h文件。

2.Linux下

下载勾选的任意一个均可,下载之后解压。

利用./flatc -c -o ./ ./名字.fbs 或者 ./flatc --cpp 名字.fbs命令进行转换,此时会报错,错误信息是“libstdc++.so.6: version `GLIBCXX_3.4.26‘not found’”。

按照以下步骤安装完之后,在执行上述命令,即可转换成功。

步骤如下:

查看GLIBCXX当前版本:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC

发现到3.4.25就截止了

执行下面命令

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

sudo apt update

sudo apt install gcc-9

sudo apt install libstdc++6

之后再使用进行查看,可以看到3.4.26

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

这样Linux下的flatc就安装完成了,可以按照上述操作进行转换。 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值