ProtocolBuffers2.4.1應用說明(一)
客方的ProtocolBuffers 詳細說明,可以下載最新版的ProtocolBuffers包。 我所下載的包是:protobuf-2.4.1.tar.bz2 、 protoc-2.4.1-win32.zip
ProtocolBuffers 首頁:http://code.google.com/intl/zh-CN/apis/protocolbuffers/docs/overview.html protobuf-2.4.1.tar.bz2 是源碼包 protoc-2.4.1-win32.zip 是編譯 .proto 文件的編譯器 本文使用 ProtocolBuffers 的環境 操作系統: windows 7 64位 開發工具:Visual studio 2008 開發語言:C++、MFC類庫 第一步: 編譯protobuf-2.4.1工程 說明:編譯protobuf-2.4.1工程后生成 libprotobuf.lib, libprotobuf.lib 會在自已的工程文件中用到這個庫文件 1)當前的目錄結構為: E:\ProtocolBuffers\ 此目錄結構下有兩個包 protobuf-2.4.1.tar.bz2 、protoc-2.4.1-win32.zip 2)解壓 protobuf-2.4.1.tar.bz2 包 會生 E:\ProtocolBuffers\protobuf-2.4.1\protobuf-2.4.1目錄結構 調整后的目錄結構為:E:\ProtocolBuffers\protobuf-2.4.1目錄結構,便于應用。 3)VS2008編譯工程 找到 E:\ProtocolBuffers\protobuf-2.4.1\vsprojects\protobuf.sln文件。 用VS2008 打開,然后編譯整個功程,很順利的編譯完整個功程。 如圖所示: 編譯完成后會在E:\ProtocolBuffers\protobuf-2.4.1\vsprojects\Debug 目錄結構中生成libprotobuf.lib庫文件。 4) 如果出現問題:
可以閱讀 vsprojects\readme.txt 說明文檔。
第二步:編寫 .proto 文件
1)在目錄 E:\ProtocolBuffers\protobuf-2.4.1\examples 中有個示例 可以先按官方的文檔來熟悉一下。 2) 編寫 .proto 文件 自已編寫的 shapeobject.proto 文件
package candee; option java_package = "com.example.candee"; option java_outer_classname = "ShapeObjectProto"; message DrawInfoPB { message ColorVal { required int32r = 1;//int32 unsigned short required int32g = 2; required int32b = 3; }
required int32toolbarState = 1;// TOOLBAR_STATE required ColorValpenColor = 2;// 筆的顏色 required int32penLineWidth = 3;// 用戶設置畫筆的寬度 required ColorValwordColor = 4;// 字的顏色 required int32wordLineWidth = 5;// 用戶設置字的寬度 required ColorValgraphColor = 6;// 圖形的顏色 required int32graph = 7;// 圖形 required int32graphLineWidth = 8;// 繪制圖形的線寬 }
message ShapeObjectPB {
required DrawInfoPB drawInfoPB = 1;// 繪畫信息
message DrawPointPB { required int32 x1 = 1; required int32 y1 = 2; required int32 X2 = 3; required int32 y2 = 4; } repeated DrawPointPB drawPointPB = 2;// 繪畫坐標
optional string textPB = 3;// 編輯框文字信息 }
message DataPB { repeated ShapeObjectPB shapeObjectPB = 1; } 第三步 編譯 shapeobject.proto 文件,生成C++源文件
1)解壓 E:\ProtocolBuffers\protoc-2.4.1-win32.zip 會生成 E:\ProtocolBuffers\protoc-2.4.1-win32\protoc.exe 編譯文件。 2) 將 protoc.exe 考貝到 shapeobject.proto文件同一級目錄中。 本目錄為 E:\ProtocolBuffers\protobuf-2.4.1\examples 3)命令執行protoc 文件 在\examples\ 新建一個目錄為 1\用來保存生成的C++源文件 在命令行下,執行protoc --cpp_out=1 shapeobject.proto 如圖所示: 4)生成的C++源文件 在E:\ProtocolBuffers\protobuf-2.4.1\examples\1 目錄中保存生成的文件 生成的文件:shapeobject.pb.cc shapeobject.pb.h 將這兩個文件添加到你的功程中,就可以用戶ProtocolBuffer了 |
posted on 2012-03-02 22:04 多彩人生 閱讀(1083) 評論(0) 編輯 收藏 引用 所屬分類: protobuf