Apollo Advanced Lesson | Google Protocol Buffers


–This article is excerpted from Google’s official about Protocol Buffers, please indicate the source for reprinting–

What Are Protocol Buffers

  • You can use protocol buffer to read/write you structure data across processes(such as IPC, event across different PC machines) ,which is language-neutral, platform-neutral, extensible mechanism for serializing structured data.

Why Use Protocol Buffers?

  • Faster
  • smaller run-time cost.
  • neutral: language,platform neutral.

How Write Your C++ ProtoBuf?

Syntax note:

  • Enum
    • First element must set to zero ,for compatibility with the proto2 semantic.
    • allow_alias option , allow your use alias that different enumerations maps to the same value.
   message MyMsg{
   	emum EnumAllowingAlias{
   		option allow_alias = true;
   		UNKNOW = 0;
   		STARTED = 1;
   		RUNNING = 1;
   		}
   }
  • repeated
    This Type familiar to std::vector.

  • import
    You can use the definitions in other .proto files by using key word import.

import "myproject/other_protos.proto";
  • Using proto2 Message Types
    You can use proto2 definitions only importing from a proto2 file,other than use them directly in the proto3 syntax.

  • Nest Types
    you can refer the inner message type by using _Parent_._Type_

message SomeOtherMessage {
  SearchResponse.Result result = 1;
}
  • Any : to be done

referring to:
Protocol-buffers official

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值