Google Protocol Buffers安装、使用二三事

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

 

 

本文只陈述Linux下的情况。

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

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

安装过程为:

$ ./configure
$ make
$ make check
$ make install

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

Google_Protocol_Buffers_make_check

 

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

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

./configure --prefix=/usr

 

(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呈上来。

 

(未完待续)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值