導航:首頁 > 文件教程 > protobuf生成pb文件

protobuf生成pb文件

發布時間:2023-06-26 14:06:11

1. 請問pb文件怎麼打開

.pb文件應該是protobuf文件,是 Google 公司內部的混合語言數據標准,內容其實就是普通文本,用文本編輯器就能打開,比如記事本,notepad++等等。

2. linux protocol 2 是什麼意思

下面描述了在 GNU/Linux x86_64(centeros)下安裝 protocol buffer,支持 C 和 C++ 。
1. google protocol buffer 下載
下載 google protocol buffer,使用版本 2.5的,主頁
http://code.google.com/p/protobuf/
下載地址:
http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz&can=2&q=
2. protocol buffer C 下載
使用最新的,並有維護的 0.16 版本
下載主頁
http://code.google.com/p/protobuf/wiki/ThirdPartyAddOns
下載地址
http://code.google.com/p/protobuf-c/
下面地址是有維護的 0.16 版本
https://github.com/protobuf-c/protobuf-c
3. 安裝 google protocol buffer
一般文件名稱是 protobuf-2.5.0.tar
執行命令解壓
tar -xvzf protobuf-2.5.0.tar
得到目錄 protobuf-2.5.0,下面是我的工作目錄結構,pb 目錄是全部有關 protocol buffer 的支持
/home/huanghui/pb/protobuf-2.5.0
執行 configure,構造 makefile 文件
./configure --help
看看攜帶那些參數,我們指定下面的參數,編譯為32 位版本
./configure --prefix=/usr/local/ CFLAGS=-m32 CXXFLAGS=-m32
執行 make,編譯完成
執行 make install,編譯完成後安裝完成
4. 安裝 protobuf-c
如果下載的是 protobuf-c-master.zip,windows 上解壓後拷貝到 linux 上。
同樣建立 /home/huanghui/pb/protobuf-c-master目錄
因為 protobuf 有些用於 C++ 支持 google rpc 和測試的功能,我們不編譯
也不安裝它,所有我們這次修改一下 Makefile.am 文件。
統一給 AM_CPPFLAGS 加上 -m32 參數,編譯為 32 位的程序;
統一給 AM_CFLAGS 加上 -m32 參數;
統一給 AM_LDFLAGS 加上 -m32 -L/usr/local/lib/ 參數,指定鏈接庫;
注釋掉有關 t/generated-code2 目錄的所有文件,不參與編譯和安裝;
執行 configure,構造 makefile 文件
./configure --help
看看攜帶那些參數,我們指定下面的參數,編譯為32 位版本
./configure --prefix=/usr/local/ CFLAGS=-m32 CXXFLAGS=-m32 protobuf_CFLAGS=-I/usr/local/include/ protobuf_LIBS=-L/usr/local/lib/

./configure --prefix=/usr/local/protocol-c-1.0-m32 CFLAGS=-m32 CPPFLAGS=-m32 CXXFLAGS=-m32 --datadir=/usr/local/protocol-c-1.0-m32/datadir protobuf_CFLAGS=-I/usr/local/protocol-2.5-m32/include protobuf_LIBS=-L/usr/local/protocol-2.5-m32/lib PROTOC=/usr/local/protocol-2.5-m32/bin/protoc LDFLAGS=-L/usr/local/protocol-2.5-m32/lib LIBS=-lprotobuf
使用這個語句配置,可以不修改配置文件了。

執行 make,編譯完成
執行 make install,編譯完成後安裝完成
5. 測試 protobuf-c
進入 /home/huanghui/pb/protobuf-c-master/t(相對路徑t)
執行命令,根據協議描述文件,生成協議源代碼
/usr/local/bin/protoc-c test.proto --c_out=./
或者(根據工具protoc-c目錄來)

/usr/local/protocol-c-1.0-m32/bin/protoc-c test.proto --c_out=./

靜態鏈接 libprotobuf-c.a
gcc -m32 generated-code/test-generated-code.c test.pb-c.c -I../ -o test /usr/local/lib/libprotobuf-c.a
運行 test,輸出 test succeeded.OK
./test
動態鏈接 protobuf-c
gcc -m32 generated-code/test-generated-code.c test.pb-c.c -I../ -o test -L/usr/local/lib/ -lprotobuf-c
6. 查詢 test-generated-code.c
/home/huanghui/pb/protobuf-c-master/t/generated-code/test-generated-code.c
通過看這個代碼,我們大致能明白 C 使用 protocol buffer 的流程。

7. test-generated-code2.c,驗證平台是否完整支持功能
構造測試文件 test-full.pb-c.c
/usr/local/protocol-c-1.0-m32/bin/protoc-c test-full.proto --c_out=./
gcc -m32 test-generated-code2.c ../test-full.pb-c.c -I../ -I../../ -I/usr/local/protocol-c-1.0-m32/include/ -I/usr/local/protocol-2.5-m32/include/ -o test -L/usr/local/protocol-c-1.0-m32/lib/ -lprotobuf-c
./test

8. cxx-generate-packed-data.cc,驗證平台是否完整支持功能
export LD_LIBRARY_PATH="/usr/local/protocol-2.5-m32/lib/:/usr/local/protocol-c-1.0-m32/lib/"
構造測試文件 test-full.pb.cc
/usr/local/protocol-2.5-m32/bin/protoc test-full.proto --cpp_out=./
gcc -m32 cxx-generate-packed-data.cc ../test-full.pb.cc -I../ -I../../ -I/usr/local/protocol-c-1.0-m32/include/ -I/usr/local/protocol-2.5-m32/include/ -o test -L/usr/local/protocol-c-1.0-m32/lib/ -lprotobuf-c
./test

閱讀全文

與protobuf生成pb文件相關的資料

熱點內容
家庭如何做好網路營銷 瀏覽:465
如何設置胎壓監測數據 瀏覽:530
降噪工具 瀏覽:692
obs編程是什麼意思 瀏覽:859
怎麼看c4d打開了多少個文件 瀏覽:792
蘋果銀河高清壁紙 瀏覽:811
怎麼從蘋果電腦垃圾桶找迴文件 瀏覽:771
介面文件不能用action寫嗎 瀏覽:85
svn代碼提交規范 瀏覽:642
在宣讀多少號文件時怎麼讀數字 瀏覽:921
網站中的區域網訪問量是什麼意思 瀏覽:397
蘋果啟動助理識別不到鏡像文件 瀏覽:670
為什麼每次文件都問是否改變應用 瀏覽:232
pinterestapp怎麼進去 瀏覽:968
json實現通用的下拉框 瀏覽:524
hc在編程中是什麼意思 瀏覽:482
javamd文件怎麼打開方式 瀏覽:90
python載入mat文件格式 瀏覽:615
sw編程是什麼 瀏覽:881
網路眾籌有哪些特點 瀏覽:896

友情鏈接