- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
protobuf安装与使用
最近领导分配了一个任务,这个工程挺高端的,主要以前从没有搞过,其中里面有protobuf,以前从来没有听说过这个东西,最近在网上看了一些高人的帖子,才知道protobuf是什么云云了,我的理解是,例如我们要用C++写个什么工程,C++是面向对象的,我们要写很多类,估计都得写上上百行,上千行的代码,但是现在用这个protobuf,就可以省很多是,我们只需要写消息包,然后编译,protobuf就会根据这个消息包自动生成两个文件.cc和.h,.h这两个文件中就有很多类,供我们调用。
现在说明怎样在Ubuntu下安装protobuf。网上有人说,他用了很多版本的protobuf都没有成功,最终用的2.5.0版本才成功,于是我就直接安装了这个版本,至于其他版本成不成功,我就不知道了。首先下载protobuf源码包
在Ubuntu的终端里输入:$ wget?/files/protobuf-2.5.0.tar.gz??
这是在官网下载,但是我等了很长时间都没有下载下来,最后我在CSDN上下载下来了
下载之后解压: $ tar xvzf protobuf-2.5.0.tar.gz???
进入到解压后的目录: $ cd protobuf-2.5.0
进行执行 : $ ./configure
在执行./configure这个命令之前最好把vim ,g++,make安装好,不然在执行./configure的时候可能会出现错误,上面三个安装的命令:$sudo apt-get install vim $sudo apt-get install g++ $sudo apt-get install make
./configure成功之后,接下来是如下几步:
$make
$make check
$make install //在执行这一步的时候,我出现了错误,错误的意思是执行的权限不够,如果是这样的话,$make install 这条命名就换成$sudo make install
下面我们要修改一下配置文件:$ vim ~/.profile
在打开的文件中,在文件末尾添加如下代码:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
然后保存退出,接下来执行: $ source ~/.profile
使刚才修改的配置文件生效,接下来执行: $protoc --version
如果上面的步骤一切顺利的话,那么就会在终端显示protobuf的版本号,如下
下面我们来测试一下,在测试之前我们最好先建立一个文件夹,例如上面的proto,接下的操作都在这个文件夹下进行。
我们先用vim创建并编辑.proto文件,例如: $ vim to
内容如下:
然后执行下面的命令: $ protoc -I=. --cpp_out=. to
执行这条命名之后,在当前目录下就会生成如下的两个文件:
这两个文件就是根据上面的那个to文件生成了,里面有类的声明和类的实现,我们可以进入这两个文件。研究一下,这里就不在说明了。然后我们就可以调用类和里面的函数实现自己的功能了,下面是两个简单的测试文件:
我们先创建: $ vim write.cc
内容如下:
然后编译write.cc,命名如下:
$ g++ ?msg.pb.cc write.cc -o write ?`pkg-config --cflags --libs protobuf` -lpthread
执行生成的write文件,命令为:
$ ./write
可看到生成的msg.pb文件,这个文件是由fstream output(“./msg.pb”,ios::out|ios::trunc|ios::binary)函数生成的
下面在创建一个文件:$ vim reader.cc
内容如下:
编译reader.cc文件:命令为:
$ g++ ?msg.pb.cc reader.cc -o reader ?`pkg-config --cflags --libs protobuf` -lpthread
然后执行生成的reader文件。命令如下:
./reader
在终端就会打印出:
101
Hello
上面在生成可执行文件的过程,都是我们一条一条命令的输入,我们可以写Makefile,然后执行一条make命令,就可以自动生成可执行文件,
编写Makefile文件: $ vim Makefile
内容如下:
编写完之后,执行:$make
就会自动生成可执行文件write和reader
Protobuffer语言详解:
Defined A Message Type
message SearchRequest
您可能关注的文档
- MIKE21HD计算原理与应用实例.pdf
- Microsoft Word - LM5000t-d生产线水泥磨系统V形选粉机操作工况测定与分析报告.pdf
- MIMO技术发展与应用.pdf
- modbus与profibus间区别.doc
- Microsoft.NET策略与Sun基于Java策略ISAS._最新.ppt
- Module 2 Fantasy Literature 精彩文学.doc
- MS WINDOWS操作系统演变过程与硬件发展与操作系统系统技术发展关系.doc
- MKdV方程多辛Fourier拟谱方法.pdf
- MPEG-4视频编码技术与在多媒体通信中应用.doc
- MP3播放器电路系统与主芯片.pdf
最近下载
- 《应用文写作》高职完整全套教学课件.pdf
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 路灯维修工考试题库单选题100道及答案.docx VIP
- TDZJN 80-2022 数据中心用锂离子电池设备产品技术标准.docx
- 2025年教科版一年级《科学》上册全册教案 .pdf VIP
- 唱天瑶 课件接力版音乐五年级上册(共11张PPT)(含音频+视频).pptx VIP
- 数字化驱动下的智慧家庭医生服务报告.pdf VIP
- [工程科技]MODFLOW用户手册中文版.doc
- 苏教版小学一年级数学下学期综合检测试卷 附解析.pdf VIP
- 矿山排水工培训课件视频.pptx VIP
文档评论(0)