通讯数据序列化处理 c++ msgpack

标签:
cmsgpack |
分类: 各种笔记 |
'''
Created on 2013-5-21
@author: zhxfl
'''
在搭建开发框架的时候,前端后端进行通信,当语言不同(比如c++和erlang),我们需要一个帮我们解析数据结构的模块,考虑到我们只需要解析int,char*,string,vector这几个基本的数据就够了(像map这种我是觉得没有这种需求的,如果确实需要map,解析之后自己重新去建立就行了),所以选择了msgpack(另外可以选择的是google
buff、json等)这个轻量级的序列化解析程序。
需要知道的是,msgpack在做处理的时候,是有做数据压缩的,这显然要比我们自己来要可靠的多。
环境配置
1、按照文档说明做编译处理,编译之后会有一个lib文件,头文件目录include这些都要
http://wiki.msgpack.org/display/MSGPACK/QuickStart+for+C+Language
2
在我们的工程目录下建立如下目录
msgpack/include
msgpack/lib
3
1)链接器设置(debug版本)
http://s11/mw690/a502f1a3gdd3359fc214a&690c++
2)链接器设置(release版本)
http://s7/mw690/a502f1a3gdd335bbf6aa6&690c++
3)在c/c++目录下添加msgpack\include目录
http://s10/mw690/a502f1a3gdd335bf34589&690c++4)最后还要添加的是链接目录
http://s3/mw690/a502f1a3gdd335c11f592&690c++5)另外release版本的需要单独重复上面的设置
代码如下:
输出结构为
size1 =
36
size2 = 27
这也说明了msgpack有为我们做数据压缩处理。
// msgpackTest.cpp :
定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
<msgpack.hpp>
#include
<vector>
#include
<string>
#include
<iostream>
int _tmain(int argc, _TCHAR*
argv[])
{
}