如何编译安装protobuf c 编译极其python版本

安装protobuf-c
按照下面的步骤进行protobuf-c的安装。wget http://protobuf-/files/protobuf-c-0.15.tar.gz
tar zxvf protobuf-c-0.15.tar.gz
cd protobuf-c-0.15
./configure --prefix=/usr/
make
sudo make install测试protobuf-c
执行下面的命令,无报错,去查看下生成文件即可。cd ..
protoc-c --c_out=./ protobuf-c-0.15/src/test/test.proto
添加新评论 &
(3) (4) (9) (19) (10) (29) (91) (164) (28)
树上的鸟蛋被你偷了一个吧
Powered bypython读写protobuf
官方protobuf定义
/p/protobuf/
python使用指南
/protocol-buffers/docs/pythontutorial
http://blog.csdn.net/love_newzai/article/details/6906459
安装 python对protobuf的支持
/files/protobuf-2.5.0.tar.bz2
tar -vxjf protobuf-2.5.0.tar.bz2
cd protobuf-2.5.0
./configure --prefix=/home/admin/mypython/
make install
准备.proto文件
struct_oss_pb.proto
message&entity_attr
&&required&int32&attr_id&=&1;
&//&属性类型标识,比如:标题属性为&1,正文属性为2,图片属性为&3,发现时间属性为4,原始url属性为5&,父页面属性为&6;
&&required&bytes&attribute&=&2;
&//&属性类型描述,比如“标题”,“&正文”,“图片”,“发现时间”,“原始&url”,“父页面&”等
&&repeated&bytes&value&=&3;
&//&属性值,除“图片”只保留&osskey之外,其他保留原文。考虑到文章中会保留多幅图,所以采用repeated。
message&entity_desc
&&required&int32&entity_id&=&1;
&&//&实体类型标识,比如:新闻为&1,小说为2&。
&&required&bytes&entity_name&=&2;
&//&实体名称,比如:新闻主题事件关键词,小说名等。
&&repeated&entity_attr&attributes&=&3;
&&//&属性描述,格式见entity_attr。
& & 将proto转化为 xxx_pb2.py
,然后在你的程序里import这个py
protoc --python_out=./ ./struct_oss_pb.proto
得到struct_oss_pb_pb2.py
读写protobuf的示例python
test_pb.py
coding: gbk
02&import&struct_oss_pb_pb2
03&entitydesc=struct_oss_pb_pb2.entity_desc()
04&entitydesc.entity_id=1
05&entitydesc.entity_name='haha'
07&#create
08&entityattr=entitydesc.attributes.add()&#嵌套message
09&entityattr.attr_id&=&11
10&entityattr.attribute&=&'标题'.decode('gbk').encode('utf-8')
11&entityattr.value.append("title
adfadf") &
13&entity_attr_str=entityattr.SerializeToString()
14&print&entity_attr_str
15&entitydesc_str=entitydesc.SerializeToString()
16&print&entitydesc_str&&
17&print&'----'
19&entityattr2&=&struct_oss_pb_pb2.entity_attr()
20&entityattr2.ParseFromString(entity_attr_str)
21&print&entityattr2.attr_id&&
22&print&entityattr2.attribute.decode('utf-8').encode('gbk')
23&for&i&in&entityattr2.value:
26&print&'----'
27&entitydesc2=struct_oss_pb_pb2.entity_desc()
28&entitydesc2.ParseFromString(entitydesc_str)
29&print&entitydesc2.entity_id
30&#repeated entity_attr
attributes,由于是repeated需要遍历
31&for&oneatt&in&entitydesc2.attributes:
&print&oneatt.attr_id
&for&i&in&oneatt.value:
Protobuf定义了一套基本数据类型。几乎都可以映射到C++\Java等语言的基础数据类型.
protobuf 数据类型
C++语言映射
64位浮点数
32为浮点数
32位整数、
无符号32位整数
unsigned int
64为无符号整
unsigned __int64
32位整数,处理负数效率更高
64位整数 处理负数效率更高
32位无符号整数
unsigned int32
64位无符号整数
unsigned __int64
32位整数、能以更高的效率处理负数
unsigned int32
unsigned __int64
std::string
用于处理多字节的语言字符、如中文
std::string
可以包含一个用户自定义的枚举类型uint32
可以包含一个用户自定义的消息类型
object of class
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。windows下怎么安装protobuf for python-CSDN论坛_百度知道
windows下怎么安装protobuf for python-CSDN论坛
src&#92.0&#92.0&#92.0-win32,然后把protoc-2.zip和protoc-2.0.py build.py test.5, python setup.5.zip.exe放到protobuf-2;下.5;python
执行指令 python setup。 切换到protobuf-2.0-win32.5.5, python setup首先从google上下载protobuf-2.zip里的protoc
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&}

我要回帖

更多关于 protobuf c 编译 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信