protocol buffer使用举例
来源:互联网 发布:上海交通大学知乎 编辑:程序博客网 时间:2024/05/29 02:39
#include "thirdparty/google/protobuf/descriptor.h"
#include "thirdparty/google/protobuf/descriptor.pb.h"#include "thirdparty/google/protobuf/dynamic_message.h"#include "thirdparty/google/protobuf/compiler/importer.h"#include "thirdparty/google/protobuf/message.h"#include "common_test/protocolbuff/foo.pb.h"#include <iostream>#include <string>using namespace std;using namespace google::protobuf;using namespace google::protobuf::compiler;int main(int argc, char* argv[]){ Foo foo; foo.set_text("Hello World!"); foo.add_numbers(1); foo.add_numbers(5); foo.add_numbers(42); const Descriptor* descriptor = foo.GetDescriptor(); const FieldDescriptor* text_field = descriptor->FindFieldByName("text"); assert(text_field != NULL); assert(text_field->type() == FieldDescriptor::TYPE_STRING); assert(text_field->label() == FieldDescriptor::LABEL_OPTIONAL); const FieldDescriptor* numbers_field = descriptor->FindFieldByName("numbers"); assert(numbers_field != NULL); assert(numbers_field->type() == FieldDescriptor::TYPE_INT32); assert(numbers_field->label() == FieldDescriptor::LABEL_REPEATED); const Reflection* reflection = foo.GetReflection(); cout << reflection->GetString(foo, text_field) << endl; cout << reflection->FieldSize(foo, numbers_field) << endl; cout << reflection->GetRepeatedInt32(foo, numbers_field, 0) << endl; cout << reflection->GetRepeatedInt32(foo, numbers_field, 1) << endl; cout << reflection->GetRepeatedInt32(foo, numbers_field, 2) << endl; return 0;}
0 0
- protocol buffer使用举例
- protocol buffer简单使用
- Protocol buffer使用
- Protocol Buffer使用
- 为什么使用Protocol Buffer
- protocol buffer 使用
- Protocol Buffer使用简介
- Protocol Buffer使用简介
- protocol buffer的使用
- Protocol Buffer使用实例
- protocol使用举例
- google protocol buffer的使用
- windows下使用protocol buffer
- protocol buffer使用范例5
- Google protocol buffer使用笔记
- Protocol Buffer的使用(python)
- iOS protocol buffer的使用
- Python笔记:protocol buffer使用
- Fibonacci的两种实现方式:递归和递推
- 强参数 Strong parameters: Dealing with mass assignment in the controller instead of the model
- 192.0x00c8.0x00c8.0x00fa
- spring mvc配置
- 线性回归,logistic回归,一般回归
- protocol buffer使用举例
- 个人网站搭建过程记录——业务范围确定(20140717)
- oracle union与union all的区别
- HDU 3181 Greatest Naruto Army 递归法
- Linux内核地址空间与进程地址空间
- win7系统损坏无法进入系统(dsark.sys文件损坏)
- hdu 2117
- 多维 HighCharts
- 浅克隆与深度克隆