栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

protobuf

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

protobuf

什么是protobuf

Protocol Buffers(简称Protobuf) ,是Google出品的序列化框架。
简单来讲,就是支持序列化与反序列化,用于数据的存储、传输。
protobuf将数据接口定义在.proto文件中,然后再利用protoc翻译为所需要的程序语言代码(类似于接口描述语言?)

官方Guide

怎么用protobuf 安装

…省略

C++使用 数据类型定义

数据类型对应关系

demo

step-1定义.proto

// demo_msg.proto
syntax = "proto2"; //版本选择,proto2 or proto3
package fgq.demo; // C++中的namespace,用.分隔

message PersonalInfo {
	required bytes name = 1;
	optional bytes address = 2;
	repeated bytes friends = 3;
};
//等号后面是field number,从1开始计数
//C++中字段名不区分大小写,即name和Name,在C++接口中都是name

step-2 将.proto翻译为.cpp和.h

protoc -I= demo_msg.proto的目录 --cpp_out=存放.cpp和.h的目录 demo_msg.proto的路径

-I参数和gcc的-I参数类似?

step-3
.cpp中引入.pb.h头文件,就可以使用protobuf所提供的cpp接口了

// main.cpp
#include "demo_msg.pb.h"
int main(){
	...
}
g++ main.cpp -I [--cpp_out所指定的目录]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号