protoc支持c_protobuf-c的使用(二)使用

本文介绍了protobuf-c的使用,包括proto文件结构、protobuf-c编译proto文件的步骤,以及在C语言中如何使用protobuf-c进行序列化和反序列化操作。
摘要由CSDN通过智能技术生成

上一篇介绍了protobuf-c的构建。接下来介绍一下protobuf-c的使用。protobuf最核心的就是proto文件,其次通过protobuf-c编译proto文件生成供c语言调用的库文件和头文件。下面逐一说明一下proto文件的定义、protobuf-c编译以及c语言如何使用protobuf。

一、proto文件结构

protobuf以消息Message为主要结构,消息中包含具体的字段,字段定义主要以required(必填字段)、optional(可选字段)、repeated(可重复字段)为主,包含了各大编程语言的基本数据类型、引用类型等。具体定义参考如下:.proto文件:包含了Message结构定义的协议文件,我们需要首先编写.proto文件,然后再生成编程语言对应的源文件。

Message结构:包含了字段的,每一条字段都包含定义声明、数据类型以及字段序号。字段序号是唯一不重复的,序号保证了不同语言和平台的序列化和反序列化字段的字节顺序。

定义声明:required:声明该字段是必填字段。

optional:声明该字段是可选字段。

repeated:声明该字段是可重复字段,通常用数组表示,也可以是list。

数据类型:protobuf支持的数据类型很全,可参考如下表:.proto类型描述packc/c++类型bool布尔类型pack(1)bool

double64位浮点类型pack(N)double

float32位浮点类型pack(N)float

int3232位整数类型pack(N)int

int6464位整数类型pack(N)__int64

uint32无符号32位整数类型p

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值