概述
要使用google proto buffer,首先要进行的就是安装,先说说我的(mac os X 10.7.2)安装过程吧:
1、下载google proto buff。
2、解压下载的包,并且阅读README.txt,根据里面的指引进行安装。
3、 $ ./configure
$ make
$ make check
$ make install
没有意外的话,前面三步应该都能顺利完成,第四步的时候,需要root权限。我采用的默认的路径,所以,仅仅用root权限,还是安装不了,要自己先在/usr/local下新建一个lib的目录,然后执行make install,这样,应该就能顺利安装google proto buffer了。
安装完后,先写一个测试程序来测试下安装,先来看看proto文件:
package hello;
message Hello{
required int32 id = 1; //user id
required string name = 2; //user name
optional string email = 3; //user email
}
接着,要用protoc生成一个对应的类,我把它生成在./out目录里:
protoc hello.proto --cpp_out=./out
接下来,在out目录下,会生成两个文件:
$> ls
hello.pb.cc hello.pb.h
接下来,编写测试用的c++代码:
#include <stdio.h>
#include <string.h>
#include "out/hello.pb.h"
using namespace std;
using namespace hello;
int main()
{
Hello a;
a.set_id(101);
a.set_name("huangwei");
string tmp;
bool ret = a.SerializeToString(&tmp);
if (ret)
{
printf("encode success!n");
}
else
{
printf("encode faild!n");
}
Hello b;
ret = b.ParseFromString(tmp);
if (ret)
{
printf("decode success!n id= %d n name = %sn", b.id(), b.name().c_str());
}
else
{
printf("decode faild!n");
}
return 0;
}
接着,编译一下这个代码,由于使用了protobuf的库,所以编译的时候,要把这些库也链接进来:
g++ hello.cc ./out/hello.pb.cc -o hello -I./out -I/usr/local/protobuf/include -L/usr/local/lib -lprotobuf
这样,就生成了测试程序。
运行一下:
$> ./hello
encode success!
decode success!
id= 101
name = huangwei
这样,简单的google proto buffer的使用就完成了。
最后
以上就是着急手链为你收集整理的proto buffer使用的全部内容,希望文章能够帮你解决proto buffer使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复