导航:首页 > 文件教程 > 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文件相关的资料

热点内容
javadbfreader 浏览:307
苹果手机数字代码是什么 浏览:66
驱动程序顺序安装脚本 浏览:665
word文件里怎样查重 浏览:219
mx5系统基带版本 浏览:184
ntlea全域通win10 浏览:171
qq怎么查看别人的收藏 浏览:135
地震三参数matlab程序 浏览:57
怎样给优盘文件加密软件 浏览:7
收拾文件有哪些小妙招 浏览:431
pdf文件去底网 浏览:253
win10重装系统需要格式化c盘吗 浏览:424
路由器trx文件 浏览:655
淘宝店铺数据包怎么做 浏览:195
win10键盘黏连 浏览:332
json如何生成表格 浏览:323
怎么修复sql数据库表 浏览:40
微信微博差别 浏览:163
签到积分换礼品app 浏览:812
mfc最近打开文件 浏览:672

友情链接