google proto buffer安裝和簡單示例


1、安裝

下載google proto buff

解壓下載的包,並且閱讀README.txt,根據里面的指引進行安裝。

$ ./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++代碼:

hello.cc

#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("xg");

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 = %s\n", 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 = xg

原文

http://hi.baidu.com/hins_pan/item/3be48ad0c6fdb7342a35c766


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM