google protobuf c++ 反射】的更多相关文章

const Descriptor *desc = DescriptorPool::generated_pool()->FindMessageTypeByName(msg_name); assert(desc); 上述示例代码,desc结果为空.最后在github找到答案. 上面链接中给出的解答是 OK, finally I figured out that there is no black magic and it's just a linker problem, I compiled the…
下载的是github上的:https://github.com/google/protobuf If you get the source from github, you need to generate the configure script first: $ ./autogen.sh This will download gtest source (which is used for C++ Protocol Buffer unit-tests) to the current direc…
之前其实已经用了5篇文章完整地分析了protobuf的原理.回过头去看,感觉一方面篇幅过大,另一方面过于追求细节和源码,对protobuf的初学者并不十分友好,因此这篇文章将会站在"了解.使用.特性.原理.改进"的角度重新整理protobuf的相关知识,希望对大家有所帮助. 1.什么是protobuf以及为何要使用protobuf protocol buffer是由google推出一种数据编码格式,不依赖平台和语言. 和json或者xml相比,protocol buffer的解析速度更…
google protobuf是一个灵活的.高效的用于序列化数据的协议.相比较XML和JSON格式,protobuf更小.更快.更便捷.google protobuf是跨语言的,并且自带了一个编译器(protoc),只需要用它进行编译,可以编译成Java.python.C++.C#.Go等代码,然后就可以直接使用,不需要再写其他代码,自带有解析的代码.更详细的介绍见: Protocol Buffers protobuf安装 1.下载protobuf代码 google/protobuf 2.安装p…
问题描述: 今天用vs2013编译protobuf 2.4.1 报错: 错误 3 error C3861: "max": 找不到标识符 f:\google\protobuf\protobuf-2.4.1\src\google\protobuf\io\zero_copy_stream_impl_lite.cc 168 1 libprotobuf错误 1 error C3861: "min": 找不到标识符 f:\google\protobuf\protobuf-2.4…
最近在读别人代码的时候发现一个的东西,名字叫protobuf, 感觉挺好用的,写在这里,留个记录.那么什么是protobuf 呢?假如您在网上搜索,应该会得到类似这样的文字介绍: Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件.他们用于 RPC 系统和持续数据存储系统. Protocol Buffers 是一种轻便高效的结构化…
转载自: http://blog.csdn.net/yi_ya/article/details/40404231 1. 简单介绍 protobuf文件:就是定义你要的消息(类似java中的类)和消息中的各个字段及其数据类型(类似java类中的成员变量和他的数据类型) 2. Protobuf消息定义 消息由至少一个字段组合而成,类似于C语言中的结构.每个字段都有一定的格式. 字段格式:限定修饰符① | 数据类型② | 字段名称③ | = | 字段编码值④ | [字段默认值⑤] 1)限定修饰符包含…
参考网址: http://my.oschina.net/chenleijava/blog/261263 http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ http://blog.csdn.net/yi_ya/article/details/40404231 http://blog.csdn.net/yi_ya/article/details/40404059 http://blog.csdn.net/chenkjiang/article/d…
原文地址:http://www.cppblog.com/liquidx/archive/2009/06/23/88366.html 译者: gashero 目录 1   概览 1.1   什么是protocol buffer 1.2   他们如何工作 1.3   为什么不用XML? 1.4   听起来像是为我的解决方案,如何开始? 1.5   一点历史 2   语言指导 2.1   定义一个消息类型 2.2   值类型 2.3   可选字段与缺省值 2.4   枚举 2.5   使用其他消息类型…
简介: protobuf 即 google protocol buffer 是一种数据封装格式协议: 比如其他经常用的xml,json等格式:protobuf的优势是效率高,同样的一份数据使用protobuf存储的时候更小,更加方便: 官网: https://developers.google.com/protocol-buffers/ https://github.com/google/protobuf 在iOS上的使用 目前最新的版本需要xcode7.0+,以及不支持ARC 1. 从gith…
个人理解: 定义.proto文件就是指明消息里包含的成员和类型,protoc会compile成相应的java文件包含interface和implementation class,然后在构建message的时候要使用builder,然后写到outputstream里. 应用实例: ByteArrayOutputStream out = new ByteArrayOutputStream(BYTE_ARRAY_SIZE); CodedOutputStream codedOut = CodedOutp…
1.定义proto文件: User.proto package netty; option java_package="myprotobuf"; option java_outer_classname="UserProto"; message User{ required int32 ID=1; required string userName=2; required string Password=3; repeated string address=4; } 2…
本文写给经常使用C编程且不喜欢C++而又要经常使用google protobuf的人.        经常写通讯程序的人对数据进行序列化或者反序列化时,可能经常使用google的protobuf(PB),其优点多多,不用我在这里赘述.        google官方的PB可以跨语言使用,唯独缺了C语言.礼失求诸野,我在网上找到了一个非官方的protobuf-c,其官方网址是http://code.google.com/p/protobuf-c/,令人奇怪的是这么好的东东从2011年下半年后再无更…
定义.proto接口文件 package tutorial; message Person { required ; required int32 id = ; //unique ID number for this person optional ; enum PhoneType { MOBILE = ; HOME = ; WORK = ; } message PhoneNumber { required ; optional PhoneType type = [default = HOME]…
使用java代码连接hbase服务器报错:  java.lang.VerifyError: class org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$AppendRequestProto overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet; 错误种类有很多种,根据不同的操作回报不同的错,关键词就是 pro…
environment: ubuntu 16.04 netbeans 8.2 ygopro Fluorohydride with Irrlicht Game Engine 问题1: google protobuf 提示 string ambiguous, string 类型和 Irrlicht 引擎冲突. 尝试的方法: 1.修改protobuf源码 string -> ::std::string.(冲突项太多,放弃这个方法.) 2.调整编译顺序,将pb.h放到include顶部,优先编译. 问题…
最近应为工作的需要,合作的部门提供了protobuf的接口,总结了一下使用的过程和方法如下: 下载protobuf-2.3.0: http://protobuf.googlecode.com/files/protobuf-2.3.0.zip 安装: unzip protobuf-2.3.0.zip cd protobuf-2.3.0 ./configure make make check make install 结果: Libraries have been installed in: /us…
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5993405.html 之前在一台台式机上在python中使用import caffe时,没有出错.但是在服务器上使用import caffe时,提示no module named google.protobuf.internal. 在protobuf-2.6.1的文件夹内,有python文件夹的README.txt里面写了怎么安装python的支持. 1. 终端定位到protobuf-2.6.1/p…
我使用的是最新版本的protobuf(protobuf-2.6.1),编程工具使用VS2010.简单介绍下google protobuf: google protobuf 主要用于通讯,是google出的一个结构化信息传递工具,有着效率高.占存储少的优点,常被用于网络通讯. Google protobuf主要是针对Linux下的开发,但是为了照顾windows的开发人员,google也给出了相应的方案. windows下,需要下载两个包protobuf-2.6.1.tar.bz2和protobu…
什么是 Google Protocol Buffer? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件.他们用于 RPC 系统和持续数据存储系统. Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等…
8.1.2    Protobuf编解码开发 Protobuf的类库使用比较简单,下面我们就通过对SubscrjbeReqProto进行编解码来介绍Protobuf的使用. 8-1    Protobuf入门TestsubscrjbeReqProto package lqy7_protobuf_140; import java.util.ArrayList; import java.util.List; import com.google.protobuf.InvalidProtocolBuff…
Google的Protobuf在业界非常流行,很多商业项目选择Protobuf作为编解码框架,这里一起回顾一下Protobuf    的优点.(1)在谷歌内部长期使用,产品成熟度高:(2)跨语言,支持多种语言,包括C十十.java和Python.(3)编码后的消息更小,更加有利于存储和传输:(4)编解码的性能非常高:(5)支持不同协议版本的前向兼容:(6)支辫定义可选和必选字段.本章主要内容包括:1.Protobuf的入门2.开发支持Protobuf的Netty服务端 3.开发支持Protobu…
如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信 出处:如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信 最近一段时间,由于项目的需要,接触到了Protobuf这个东东,在Linux环境下,体验了一把,感觉挺不错,很方便,且高效.是一个非常值得学习掌握和应用的数据抽象.平台无关.功能强大.…(此处省略1000字)的开源工具. Google虽然把Protobuf做成了跨平台.跨语言,但作为微软的死对头,它在re…
在做项目的时候,导入了几个类,导入了相关的jar. 结果在package处报了The type com.google.protobuf.GeneratedMessageV3$Builder cannot be resolved. It is indirectly referenced from required .classfiles  . 寻寻觅觅,查了很多资料,有说jdk版本问题,我也检查了,jdk没问题.找了半天,也没有一个所以然.然后重新检查了一遍相关的jar包,发现有一个是protob…
在分析caffe2源码的过程中,由于caffe2使用protobuf作为网络结构和网络参数序列化和反序列化的机制,想在反序列化之前进行加解密处理,这是反向protouf其实有两个版本的实现来进行消息的解析. protobuf 中对消息的解析有两个版本,一个是python版本,另外一个是c++版本.python版本相关的代码存放路径在:./python/google/protobuf/internal/python_message.py 中,而c++实现版本存放路径在:./python/googl…
根据上一篇博文 Google Protobuf 使用 Java 版 netty 集成 protobuf 的方法非常简单.代码如下: server package protobuf.server.impl; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.chann…
一 . Protobuf 的入门 Protobuf 是一个灵活,高效,结构化的数据序列化框架, 相比于 XML 等传统的序列化工具,它更小,更快,更灵活,更简单. Protobuf 支持数据结构化一次可以到处使用.甚至跨语言使用.同通过代码生成工具可以自动生成不同语言版本的源代码,甚至可以在使用不同版本的数据结构中进行数据传递,实现数据结构的向前兼容. Google 的 protobuf 在业界非常流行,很多商业项目选择 protobuf 作为编码解码框架,这里我们一起回顾一下 Protobuf…
最近安装caffe,突然报这个错: .build_release/src/caffe/proto/caffe.pb.h: In member function ‘void caffe::ImageDataParameter::set_mean_file(const char*)’:.build_release/src/caffe/proto/caffe.pb.h:17957:22: error: ‘kEmptyString’ is not a member of ‘google::protobu…
1 使用protobuf 2.x 下载地址(3.x 在c++11 vs2017下报错) 源码 https://github.com/google/protobuf 或者直接下载 二进制文件 2 如果下载的是代码 编译需要使用cmake 来生成VC的工程 cmake的使用从略 编译设置如图 3 如果下载的是代码  开启VC工程编译protobuf  由于以后自写代码需要使用protobuf的LIB 所以编译时请确认编译的版本 我使用的是VC2017编译的 x64 debug 版本 如图  4 以p…
安装caffe时make all会出现这个错误,按照https://github.com/BVLC/caffe/issues/4988说法,可能时libprotobuf-dev过时了,需要从源码重新变异protobuf. 首先安装:sudo apt-get install autoconf automake libtool curl make g++ unzip 接下来参考这篇博客就行了:http://blog.csdn.net/yl204/article/details/50478279 另参…