protobuf简单使用

1、sudo apt-get install protobuf-compiler

2.编写简单proto文件
syntax = "proto2" ; //表明使用protobuf的编译器版本为v2,目前最新的版本为v3 namespace
{
optional string name = 1 ;

optional int32 age = 2 ;
optional int32 xxx = 3 ; //xxx 代表任意字段名称,为api 举例方便
}
message VehicleSignal {
enum TurnSignal {
TURN_NONE = 0 ;
TURN_LEFT = 1 ;
TURN_RIGHT = 2 ;
};
optional TurnSignal turn_signal = 1 ;
optional bool high_beam = 2 ;
optional bool low_beam = 3 ;
optional bool horn = 4 ;
optional bool emergency_light = 5 ;
}

3.编译

定义proto文件之后需要用protobuf提供的编译工具将proto文件编译成不同语言的源码,此处使用C++。

protoc -I=./ --cpp_out=./ test.proto

4.简单的测试代码
#include <stdio.h>
#include <iostream>
#include <string>
#include "test.pb.h"
using namespace std;
int main ( int argc, char * argv[])
{
Info * pinfo = new Info ();
pinfo-> set_name ( "testname" );
pinfo-> set_age ( 120 );
cout << "info.name=" << pinfo-> name () << ", age=" << pinfo-> age () << endl;

delete pinfo;
return 0 ;
}
5、g++ test_pb.cpp test.pb.cc  -lprotobuf

6、./a.out

输出结果:
info.name=testname, age=120

参考:

apollo学习基础之一 [.proto协议文件]_ycy_dy的博客-CSDN博客
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值