Google Protocol Buffers安裝、使用二三事

轉載須註明出處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/

安裝過程爲:

1
2
3
4
./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”結果:

“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/

(未完待續)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章