文档首页 > > 移植指南> 移植Protobuf> 移植指导

移植指导

分享
更新时间:2020/07/23 GMT+08:00

介绍

简要介绍

Protobuf即Protocol Buffers,是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的、高效的用于序列化数据的协议。与XML和JSON格式相比,Protobuf更小、更快、更便捷。

Protobuf是跨语言的,并且自带编译器(protoc),只需要用protoc进行编译,就可以编译成Java、Python、C++、C#、Go等多种语言代码,并可以直接使用。

语言:C/C++

一句话描述:灵活高效序列化数据的协议

开源协议:Apache 2.0

建议的版本

建议使用版本为“protobuf-2.6.1”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.large.2 | 2vCPUs | 4GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

说明

下载地址

CentOS

  • 版本:7.5
  • Kernel:4.14.0-49

操作系统和Kernel在公共镜像中已提供。

EulerOS

  • 版本:2.8
  • Kernel:4.19.36

操作系统和Kernel在公共镜像中已提供。

配置编译环境

安装wget工具。

yum install wget -y

获取源码

获取“protobuf-2.6.1”源码包。

cd /usr/local/src

wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz

编译和安装

在CentOS 7.6以yum方式安装Protobuf,以及在EulerOS 2.8上以yum方式安装Protobuf请参见其他场景安装说明

  1. 解压软件包。

    cd /usr/local/src

    tar -zxvf protobuf-2.6.1.tar.gz

  2. 进入Protobuf的安装目录。

    cd protobuf-2.6.1/

  3. 安装Protobuf。

    ./configure --prefix=/usr/

    make -j4 && make install

  4. 更新库。

    ldconfig

运行和验证

  1. 创建测试源文件。

    cd /usr/local/src

    vi student.proto

    “student.proto”插入如下内容:

    syntax = "proto2";
    message Student {
    optional string name = 1;
    optional int32 age = 2;
    }

  2. 编译和运行测试文件,将“student.proto”转化成c++源码。

    protoc --cpp_out=./ ./student.proto

    ll

    回显内容如下,可发现已生成“student.pb.cc”“student.pb.h”文件。

    [root@ecs-protobuf-x src]# ll
    total 2608
    drwxr-xr-x 10 109965 5000    4096 Aug 17 16:29 protobuf-2.6.1
    -rw-r--r--  1 root   root 2641426 May 21  2017 protobuf-2.6.1.tar.gz
    -rw-r--r--  1 root   root   11400 Aug 17 16:40 student.pb.cc
    -rw-r--r--  1 root   root    7554 Aug 17 16:40 student.pb.h
    -rw-r--r--  1 root   root      97 Aug 17 16:40 student.proto

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问