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

一、簡(jiǎn)介

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

二、特點(diǎn)

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

·   更簡(jiǎn)單

·   3-10

·   20-100

·   更少的歧義

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

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

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

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

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

三、開(kāi)發(fā)步驟

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

一旦你安裝好了,就可以跟著編程指導(dǎo)( http://code.google.com/apis/protocolbuffers/docs/tutorials.html )來(lái)選擇語(yǔ)言-隨后就是使用ProtocolBuffer創(chuàng)建一個(gè)簡(jiǎn)單的應(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生成對(duì)應(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庫(kù)

#   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);
 
         // 對(duì)象序列化為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反序列化為對(duì)象
         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開(kāi)發(fā)示例[未登錄](méi)  回復(fù)  更多評(píng)論   

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

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            亚洲激情欧美激情| 亚洲九九爱视频| 亚洲欧美日韩国产一区二区| 最新亚洲激情| 日韩五码在线| 亚洲欧美成人一区二区在线电影| 国产精品99久久久久久人| 亚洲一区二区三区涩| 欧美在线999| 久久在线免费观看| 欧美伦理影院| 国产亚洲一区在线| 99精品久久| 久久精品国产亚洲一区二区三区| 免费观看亚洲视频大全| 亚洲精品美女| 欧美一区二区三区免费在线看 | 欧美性大战久久久久久久蜜臀| 国产精品v日韩精品| 国产在线观看91精品一区| 日韩视频免费观看高清完整版| 亚洲自拍偷拍视频| 欧美国产三级| 午夜精品久久久久久久99樱桃| 另类国产ts人妖高潮视频| 欧美性开放视频| 亚洲人成人99网站| 久久久久国产精品一区三寸| 91久久精品视频| 久久激情五月激情| 国产精品视频不卡| 亚洲黄色三级| 久久久久久久欧美精品| 99riav国产精品| 欧美国产免费| 红桃视频国产精品| 欧美一区二区私人影院日本 | 欧美激情综合色| 国模 一区 二区 三区| 亚洲小说春色综合另类电影| 欧美成人蜜桃| 亚洲综合视频在线| 欧美日韩视频不卡| 伊人精品视频| 久久九九精品| 亚洲一区二区三区视频| 欧美日韩亚洲综合一区| 99国产精品久久久| 亚洲大片在线| 免费久久99精品国产自| 在线精品国产欧美| 美腿丝袜亚洲色图| 久久精品视频导航| 狠狠色狠狠色综合日日tαg| 欧美专区日韩视频| 性欧美办公室18xxxxhd| 国产欧美综合一区二区三区| 午夜精品亚洲一区二区三区嫩草| 亚洲最新在线| 国产精品制服诱惑| 欧美在线视频免费播放| 午夜国产不卡在线观看视频| 国产精品视频福利| 欧美一区二区成人6969| 午夜精品久久久久久久蜜桃app| 欧美午夜久久| 午夜在线视频观看日韩17c| 亚洲午夜电影在线观看| 欧美视频观看一区| 欧美亚洲免费在线| 久久黄色影院| 亚洲乱码国产乱码精品精可以看| 91久久精品www人人做人人爽| 欧美国产专区| 亚洲影院免费观看| 欧美一区二区网站| 在线电影国产精品| 91久久国产精品91久久性色| 欧美日韩精品一区二区三区| 亚洲一区精品视频| 久久成人精品一区二区三区| 激情久久婷婷| 亚洲激情网站| 国产精品嫩草久久久久| 蜜臀久久久99精品久久久久久| 免费成人你懂的| 亚洲一区一卡| 久久裸体艺术| 在线一区亚洲| 久久精品国产一区二区三| 亚洲欧洲日本一区二区三区| a4yy欧美一区二区三区| 国产真实乱偷精品视频免| 亚洲国产一区二区三区高清 | 久久精品123| 日韩午夜激情av| 欧美一区久久| av成人免费在线| 欧美一区二区高清| 99精品国产99久久久久久福利| 亚洲欧美卡通另类91av| 国产亚洲精品高潮| 欧美—级a级欧美特级ar全黄| 亚洲一区国产视频| 久久婷婷人人澡人人喊人人爽| 亚洲最新在线| 欧美在线视频二区| 亚洲一区制服诱惑| 欧美 日韩 国产在线| 欧美在线啊v| 国产精品久久国产精品99gif | 欧美自拍偷拍午夜视频| 亚洲免费av片| 麻豆freexxxx性91精品| 欧美中文字幕| 国产精品一二三视频| 亚洲免费电影在线| 最新成人av在线| 久久久久久噜噜噜久久久精品| 亚洲免费在线电影| 欧美日韩亚洲一区二区| 亚洲高清视频在线观看| 亚洲大片免费看| 欧美在线视频观看| 久久久久久午夜| 国产主播在线一区| 欧美一区二区三区在线| 性做久久久久久免费观看欧美| 欧美日韩亚洲精品内裤| 亚洲日本成人在线观看| 亚洲黄色一区二区三区| 男人的天堂亚洲| 欧美激情一区二区三区| 亚洲国产日韩一区| 欧美承认网站| 亚洲国产精品一区二区第一页| 在线看欧美视频| 久久只精品国产| 亚洲第一区中文99精品| 亚洲日本中文字幕| 欧美激情在线免费观看| 亚洲欧洲一区二区在线观看| 亚洲欧洲在线播放| 欧美久久婷婷综合色| 日韩一区二区精品| 亚洲私拍自拍| 国产精品日本一区二区| 新狼窝色av性久久久久久| 久久人人九九| 亚洲国产精品一区二区久| 欧美国产在线视频| 亚洲午夜一区| 久久亚洲综合| 日韩五码在线| 国产欧美日本在线| 久久一日本道色综合久久| 亚洲欧洲三级电影| 性久久久久久久久久久久| 国产亚洲欧美日韩日本| 久久精品噜噜噜成人av农村| 欧美国产在线电影| 亚洲伊人一本大道中文字幕| 国产一区二区精品丝袜| 嫩草成人www欧美| 亚洲一区久久久| 久久综合九色综合欧美狠狠| 精品成人国产| 欧美激情一区二区三区在线| 国产精品久久久久aaaa| 欧美在线欧美在线| 亚洲高清网站| 久久久97精品| 在线亚洲电影| 亚洲第一偷拍| 国产精品性做久久久久久| 免费看精品久久片| 亚洲欧美日韩天堂| 亚洲黄一区二区| 久久久久久69| 亚洲影视在线| 亚洲精品美女久久7777777| 国产精品一香蕉国产线看观看| 蘑菇福利视频一区播放| 欧美伊人久久| 亚洲一区二区视频在线观看| 欧美激情亚洲一区| 久久视频免费观看| 欧美一二三区精品| 亚洲视频一区在线观看| 亚洲国产精品嫩草影院| 国内精品视频在线观看| 国产精品爱久久久久久久| 欧美电影免费观看网站| 久久三级视频| 久久久久久免费| 欧美主播一区二区三区| 亚洲一区二区动漫| 日韩一级视频免费观看在线| 亚洲国产成人av| 欧美国产一区二区三区激情无套|