您的位置:首页 > Web前端

Google Protocol Buffers安装、使用二三事

2013-10-29 09:41 387 查看
转载须注明出处:http://www.codelast.com/

 

先说一句题外话:与Google Protocol Buffers类似的项目还有:源自Facebook的Thrift

 

本文只陈述Linux下的情况。

(1)首先下载得到文件protobuf-2.3.0.tar.gz。

在Linux下,解压,然后请务必仔细看README.txt,文档的一开头就是说明在Unix下安装的注意事项。

文章来源:http://www.codelast.com/

安装过程为:

注意第3步有个比较奇怪的“make check”,顾名思义,它是用来做检查的。如果“make check”失败了,你仍然可以安装,但是有可能Google Protocol Buffers的某些功能在你的系统上不能正常使用。“make check”过程消耗的时间比较长,要耐心等待。在这个过程中,会调用Google
Test来进行测试,如果你用 过Google Test的话,就会知道那种全绿色的pass是多么令人赏心悦目。下面就是我在我的RHEL 5上的“make check”结果:





“make install”可能会需要超级用户权限。

默认安装路径是 /usr/local ,如果你要安装在其他路径,很容易,例如你想安装在 /usr ,只需要这样调用configure:

./configure --prefix=/usr

文章来源:http://www.codelast.com/

(2)Protocol Buffers文档有多个,如果你初次接触,可以按这样的顺序阅读其中的几个:Protocol Buffer Basics:C++,Language Guide,C++ Generated Code,……

 

(3)编译Protocol Buffers应用程序时,要使用-lprotobuf链接到其动态库或静态库。

 

(4)刚接触Protocol Buffers的朋友可能会问,Protocol Buffers要如何用在socket通信的通信协议中?可以大概地说一下:你需要根据你的协议编写一个.proto文件,此文件的格式是按Protocol Buffers的要求书写的。然后用Protocol Buffers编译器生成这个文件对应的类文件(包括一个.h文件和一个.cc文件),然后在你的程序中include生成的头文件,当需要发送socket消息的时候,先用这个类的对象的SerializeToString()方法,生成一个字符串,这个字符串也就相当于我们传统意义上的编码过的消息,然后在socket消息的接收方,使用ParseFromString()方法,就可以将消息中包含的数据解析到生成的类的成员变量中,就可以直接取出来用了。整个过程不需要你去考虑编码、解码,就算更改了协议,修改工作也非常方便。有时间的话,我会写一个比较详细的sample呈上来。

文章来源:http://www.codelast.com/

(未完待续)

 

上一篇: 看看Google Test项目的SVN目录结构(创建自己的项目时可以参考)

下一篇: [原创] Protocol
Buffer Basics: C++中文翻译(Google Protocol Buffers中文教程)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: