青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Google ProtoBuf開發(fā)示例

Posted on 2012-04-13 11:25 chugf 閱讀(8510) 評論(2)  編輯 收藏 引用

一、簡介

ProtocolBuffer是用于結(jié)構(gòu)化數(shù)據(jù)串行化的靈活、高效、自動(dòng)的方法,有如XML,不過它更小、更快、也更簡單。你可以定義自己的數(shù)據(jù)結(jié)構(gòu),然后使用代碼生成器生成的代碼來讀寫這個(gè)數(shù)據(jù)結(jié)構(gòu)。你甚至可以在無需重新部署程序的情況下更新數(shù)據(jù)結(jié)構(gòu)。

二、特點(diǎn)

ProtocolBuffer擁有多項(xiàng)比XML更高級的串行化結(jié)構(gòu)數(shù)據(jù)的特性,ProtocolBuffer

·   更簡單

·   3-10

·   20-100

·   更少的歧義

·   可以方便的生成數(shù)據(jù)存取類

例如,讓我們看看如何在XML中建模Personnameemail字段:

<person>
    <name>John Doe</name>
    <email>jdoe@example.com</email>
</person>

對應(yīng)的ProtocolBuffer報(bào)文則如下:

#ProtocolBuffer的文本表示
#
這不是正常時(shí)使用的二進(jìn)制數(shù)據(jù)
person {
    name: "John Doe"
    email: "jdoe@example.com"
}

三、開發(fā)步驟

1、下載包( http://code.google.com/p/protobuf/downloads/ ),包含了Java、Python、C++ProtocolBuffer編譯器,用于生成你需要的IO類。構(gòu)建和安裝你的編譯器,跟隨README的指令就可以做到。

一旦你安裝好了,就可以跟著編程指導(dǎo)( http://code.google.com/apis/protocolbuffers/docs/tutorials.html )來選擇語言-隨后就是使用ProtocolBuffer創(chuàng)建一個(gè)簡單的應(yīng)用了。

2、創(chuàng)建. proto文件,文件中定義你需要做串行化的數(shù)據(jù)結(jié)構(gòu)信息,下面定義個(gè)Order. Proto

package xquant;
option java_package = "com.xquant";
option java_outer_classname = "Order";
 
message Order {
  required int32 action = 1;
  required string serialNo = 2;        
  required string version = 3;
  optional string operator = 4;
  required string code = 5;
  required string name = 6;
  required string price = 7;
  required string amount = 8;
}

 

 

3、使用googleprotoc.exe生成對應(yīng)的C++文件,在CMD命令框中輸入如下命令(路徑根據(jù)實(shí)際情況修改):

F:\projects\c++\protobuf-2.4.1\examples>protoc --cpp_out=F:\projects\c++\protobu

f-2.4.1\examples order.proto

生成文件:

order.pb.h

order.pb.cc

4、新建C++工程Demo,把order.pb.horder.pb.cc加入工程中,添加lib

#   pragma comment(lib, "libprotobuf.lib")

代碼如下:

 

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include "order.pb.h"
using namespace std;
 
void initOrder(xquant::Order* order) {
  order->set_action(100);
  order->set_serialno("100abc");       
  order->set_version("1.00.003");
  string code = "TF0001";
  order->set_code(code);
  string name = "test";
  order->set_name(name);
  order->set_price("10.01");
  order->set_amount("10000000.00");
}
 
int _tmain(int argc, _TCHAR* argv[])
{
         GOOGLE_PROTOBUF_VERIFY_VERSION;
 
         // 組裝報(bào)文
         xquant::Order order;
         initOrder(&order);
 
         // 對象序列化為string
         string order_str;
         order.SerializeToString(&order_str);
         cout << order_str << endl;
         // 顯示調(diào)式報(bào)文
         string order_debug = order.DebugString();
         cout << order_debug << endl;
 
         // string反序列化為對象
         xquant::Order order_2;
         order_2.ParseFromString(order_str);
         cout << order_2.code() << endl;
         cout << order_2.name() << endl;
 
         google::protobuf::ShutdownProtobufLibrary();
 
         getchar();
 
         return 0;
}

 

 

Feedback

# re: Google ProtoBuf開發(fā)示例[未登錄]  回復(fù)  更多評論   

2012-11-16 10:34 by frank
有時(shí)間用MINA和C++做個(gè)小項(xiàng)目嗎?
我的QQ:1650121116

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


posts - 5, comments - 22, trackbacks - 0, articles - 0

Copyright © chugf

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品日韩高清| 欧美在线亚洲| 欧美一区在线看| 免费在线欧美视频| av成人免费在线| 国产精品捆绑调教| 欧美区一区二区三区| 欧美成人精品一区| 欧美日韩国产色视频| 国产精品ⅴa在线观看h| 欧美高清在线视频观看不卡| 夜久久久久久| 麻豆九一精品爱看视频在线观看免费| 国产精品一级二级三级| 午夜精品福利一区二区三区av| 亚洲第一级黄色片| 欧美日韩裸体免费视频| 国产精品免费看久久久香蕉| 伊甸园精品99久久久久久| 日韩午夜av电影| 欧美一区二区三区啪啪| 欧美1区2区视频| 一级成人国产| 久久天天躁夜夜躁狠狠躁2022 | 日韩一级在线| 亚洲伊人久久综合| 性欧美精品高清| 欧美成在线视频| 日韩视频二区| 久久久精品国产免费观看同学| 久久久综合免费视频| 午夜精品久久久久影视| 尤物九九久久国产精品的分类| 久久亚洲欧美| 亚洲精品综合在线| 一区福利视频| 亚洲一区尤物| 玖玖玖国产精品| 日韩写真在线| 嫩草伊人久久精品少妇av杨幂| 国产美女一区二区| 一本久久综合| 蜜桃av一区二区| 亚洲欧美日韩另类| 欧美成人中文字幕| 国产有码一区二区| 亚洲一区二区在线免费观看视频| 久久一区免费| 亚洲午夜久久久久久久久电影院 | 欧美肥婆在线| 中文网丁香综合网| 欧美日韩国产成人高清视频| 亚洲电影有码| 久久夜色撩人精品| 久久精品国产精品亚洲综合| 国产精品亚洲第一区在线暖暖韩国| 91久久在线视频| 欧美a级片网| 久久国产精彩视频| 国产欧美一区二区色老头| 一区二区三区四区五区在线 | 欧美影片第一页| 一区二区三区四区国产精品| 欧美黄色日本| 亚洲黄色三级| 亚洲高清一二三区| 亚洲欧美日韩成人| 国产精品欧美一区喷水| 亚洲欧美伊人| 午夜精品在线| 国产欧美精品| 久久青草福利网站| 久久亚洲免费| 国语精品中文字幕| 欧美成人精品1314www| 欧美1区2区| 亚洲午夜国产一区99re久久 | 欧美在线观看www| 狠狠爱www人成狠狠爱综合网| 久久久99免费视频| 久热国产精品| 在线视频一区观看| 亚洲欧美视频一区| 精品福利av| 夜夜嗨av一区二区三区免费区| 亚洲精品午夜精品| 在线亚洲观看| 极品少妇一区二区三区| 亚洲国产毛片完整版| 国产精品99一区二区| 久久这里只精品最新地址| 老牛嫩草一区二区三区日本 | 91久久久亚洲精品| 亚洲一区二区免费视频| 国内自拍一区| 亚洲精品久久视频| 国产日韩欧美自拍| 亚洲国产成人久久综合一区| 国产精品美女午夜av| 美日韩免费视频| 欧美日韩1080p| 久久久久欧美精品| 欧美日韩国产限制| 毛片一区二区| 欧美亚洲成人网| 欧美激情精品久久久久久黑人| 国产精品大全| 亚洲欧洲一区二区三区| 国产日韩av在线播放| 91久久精品网| 国模 一区 二区 三区| 日韩网站在线| 亚洲人体影院| 久久一区国产| 久久免费国产| 国产精品一国产精品k频道56| 最新日韩精品| 亚洲国产精品日韩| 久久精品99久久香蕉国产色戒| 亚洲一区二区三区在线| 欧美二区乱c少妇| 久久久久久久一区| 国产精品久久久久久久久久久久 | 亚洲制服av| 欧美激情精品| 欧美国产日韩一区二区| 国产亚洲欧美一区| 香蕉精品999视频一区二区| 亚洲尤物在线视频观看| 欧美日本久久| 亚洲日韩欧美视频一区| 亚洲精品乱码视频| 欧美国产激情| 亚洲人精品午夜| 亚洲精品欧美日韩专区| 米奇777在线欧美播放| 欧美ed2k| 亚洲精品久久久久久一区二区| 欧美成人激情视频| 亚洲欧洲一区二区三区| 在线视频你懂得一区二区三区| 欧美日韩日本视频| 日韩亚洲视频| 午夜精品网站| 国产日韩欧美综合精品| 久久爱www| 免费视频一区| 美女露胸一区二区三区| 亚洲国产精品一区二区第一页| 久久精品一区二区三区不卡牛牛| 久久精视频免费在线久久完整在线看| 国产精品一区二区久久久| 香蕉久久夜色精品国产使用方法| 久久精品视频免费| 在线激情影院一区| 欧美日韩黄色大片| 亚洲欧美国产不卡| 开元免费观看欧美电视剧网站| 在线精品观看| 欧美日韩国产精品| 亚洲欧洲av一区二区三区久久| 久久亚洲不卡| 99国产精品国产精品毛片| 国产精品久久久久久久久果冻传媒| 亚洲自拍高清| 欧美成人自拍| 亚洲在线网站| 一区二区三区在线看| 欧美理论片在线观看| 亚洲综合成人婷婷小说| 男女av一区三区二区色多| 日韩一级大片| 国内精品久久久久影院薰衣草| 欧美不卡视频| 欧美一级二级三级蜜桃| 亚洲激情视频在线播放| 欧美亚洲免费高清在线观看| 亚洲成色777777女色窝| 欧美视频在线视频| 久久综合给合久久狠狠狠97色69| 一个人看的www久久| 欧美激情国产日韩精品一区18| 亚洲一区日韩在线| 亚洲国内精品| 国产亚洲精品7777| 欧美视频亚洲视频| 蜜臀va亚洲va欧美va天堂| 午夜精品视频在线| 亚洲精品小视频| 欧美大片免费久久精品三p| 欧美一级大片在线观看| 夜夜嗨av一区二区三区免费区| 亚洲风情亚aⅴ在线发布| 国产日韩一区| 国产精品成av人在线视午夜片| 欧美成年视频| 免费高清在线一区| 久久久精品国产一区二区三区| 亚洲综合色视频| 99pao成人国产永久免费视频|