protobuf是Google开发的一个序列化框架,类似XML,JSON,基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化

1.proto文件,google buffer的原型文件。通过protoc.exe --cpp_out生成对应的cpp文件,
通过protoc.exe –I生成对应的二进制文件(.proto文件)。syntax = "proto2";表示协议版本。

2.repeated类型的使用:相当于std的vector。

message Person {  
  required int32 age = 1;  
  required string name = 2;  
}  
message Family {  
  repeated Person person = 1;  
}

Family family;  
Person* person;  
  
person = family.add_person();  // 添加一个家庭成员,John  
person->set_age(25);  
person->set_name("John");  
  
person = family.add_person();  // 添加一个家庭成员,Lucy  
person->set_age(23);  
person->set_name("Lucy");  
  
// 显示所有家庭成员  
int size = family.person_size();  
for(int i=0; i<size; i++)   {  
     Person psn = family.person(i);  
     cout << i+1 << ". " << psn.name() << ", 年龄 " << psn.age() << endl;  
}

转载于:https://my.oschina.net/yizhangxyz/blog/868893

最新文章

  1. JSBinding / FAQ &amp; Trouble Shooting
  2. vmware 虚拟机克隆之后配IP重启网络失败
  3. SQL行转列和列转行
  4. 实现多项式的JAVA类
  5. CRF模型
  6. 【19】设计class犹如设计type
  7. 浅谈用java解析xml文档(一)
  8. Error (0xc0000225) installing Windows 8 R2 on VirtualBox
  9. 支付宝移动支付开发详细教程服务端采用.net mvc webapi(C#)
  10. ajax-post请求
  11. 企业微信快捷接入Odoo的模块——WeOdoo
  12. SpringBoot实现标准的OAuth服务提供商
  13. Nginx+Tomcat+Memcached部署
  14. 037 关于pom.xml的一些问题的理解
  15. 【转】你必须知道的EF知识和经验
  16. Zookeeper基本数据模型
  17. iPhone 获取指定格式的时间和日期
  18. SpringBoot中Redis的set、map、list、value、实体类等基本操作介绍
  19. POJ 1679 The Unique MST (次小生成树)题解
  20. UIScrollview 与 Autolayout 的那点事

热门文章

  1. JS必看面试题
  2. 根据银行卡号 获取银行名称及银行logo
  3. Vulnhub FristiLeaks靶机渗透
  4. 家庭版记账本app进度之编辑框组件
  5. Jmeter使用Websocket插件测试SingalR,外加还有阿里云PTS的Jmeter原生测试爬坑日志。
  6. 几行代码实现cookie的盗取
  7. 在类的外面调用类的private函数
  8. 【python实现卷积神经网络】池化层实现
  9. Xcode自动注释插件:VVDocumenter-Xcode
  10. python圆周率计算小程序(非常慢)