mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-20 14:02:40 +02:00
reorganized tree
This commit is contained in:
90
README.md
90
README.md
@@ -1,25 +1,73 @@
|
|||||||
MessagePack
|
MessagePack for C/C++
|
||||||
===========
|
=====================
|
||||||
|
Binary-based efficient object serialization library.
|
||||||
|
|
||||||
MessagePack is an efficient binary serialization format. It's like JSON. but fast and small.
|
|
||||||
|
|
||||||
This repository is divided to multiple implementation probjects on https://github.com/msgpack organization.
|
## Installation
|
||||||
|
|
||||||
* Node.JS: https://github.com/msgpack/msgpack-node
|
Download latest package from [releases of MessagePack](http://sourceforge.net/projects/msgpack/files/) and extract it.
|
||||||
* D: https://github.com/msgpack/msgpack-d
|
|
||||||
* Go: https://github.com/msgpack/msgpack-go
|
On UNIX-like platform, run ./configure && make && sudo make install:
|
||||||
* Python: https://github.com/msgpack/msgpack-python
|
|
||||||
* Ruby: https://github.com/msgpack/msgpack-ruby
|
$ ./configure
|
||||||
* Java: https://github.com/msgpack/msgpack-java
|
$ make
|
||||||
* Scala: https://github.com/msgpack/msgpack-scala
|
$ sudo make install
|
||||||
* CLI/C#: https://github.com/msgpack/msgpack-cli
|
|
||||||
* Objective-C: https://github.com/msgpack/msgpack-objectivec
|
On Windows, open msgpack_vc8.vcproj or msgpack_vc2008 file and build it using batch build. DLLs are built on lib folder,
|
||||||
* Perl: https://github.com/msgpack/msgpack-perl
|
and the headers are built on include folder.
|
||||||
* Haskell: https://github.com/msgpack/msgpack-haskell
|
|
||||||
* PHP: https://github.com/msgpack/msgpack-php
|
To use the library in your program, include msgpack.hpp header and link "msgpack" library.
|
||||||
* OCaml: https://github.com/msgpack/msgpack-ocaml
|
|
||||||
* C/C++: https://github.com/msgpack/msgpack-c
|
|
||||||
* Erlang: https://github.com/msgpack/msgpack-erlang
|
## Example
|
||||||
* Smalltalk: https://github.com/msgpack/msgpack-smalltalk
|
|
||||||
* JavaScript: https://github.com/msgpack/msgpack-javascript
|
#include <msgpack.hpp>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
// This is target object.
|
||||||
|
std::vector<std::string> target;
|
||||||
|
target.push_back("Hello,");
|
||||||
|
target.push_back("World!");
|
||||||
|
|
||||||
|
// Serialize it.
|
||||||
|
msgpack::sbuffer buffer; // simple buffer
|
||||||
|
msgpack::pack(&buffer, target);
|
||||||
|
|
||||||
|
// Deserialize the serialized data.
|
||||||
|
msgpack::unpacked msg; // includes memory pool and deserialized object
|
||||||
|
msgpack::unpack(&msg, sbuf.data(), sbuf.size());
|
||||||
|
msgpack::object obj = msg.get();
|
||||||
|
|
||||||
|
// Print the deserialized object to stdout.
|
||||||
|
std::cout << obj << std::endl; // ["Hello," "World!"]
|
||||||
|
|
||||||
|
// Convert the deserialized object to staticaly typed object.
|
||||||
|
std::vector<std::string> result;
|
||||||
|
obj.convert(&result);
|
||||||
|
|
||||||
|
// If the type is mismatched, it throws msgpack::type_error.
|
||||||
|
obj.as<int>(); // type is mismatched, msgpack::type_error is thrown
|
||||||
|
}
|
||||||
|
|
||||||
|
API documents and other example codes are available at the [wiki.](http://redmine.msgpack.org/projects/msgpack/wiki)
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Copyright (C) 2008-2010 FURUHASHI Sadayuki
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
|
See also NOTICE file.
|
||||||
|
|
||||||
|
@@ -1,73 +0,0 @@
|
|||||||
MessagePack for C/C++
|
|
||||||
=====================
|
|
||||||
Binary-based efficient object serialization library.
|
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Download latest package from [releases of MessagePack](http://sourceforge.net/projects/msgpack/files/) and extract it.
|
|
||||||
|
|
||||||
On UNIX-like platform, run ./configure && make && sudo make install:
|
|
||||||
|
|
||||||
$ ./configure
|
|
||||||
$ make
|
|
||||||
$ sudo make install
|
|
||||||
|
|
||||||
On Windows, open msgpack_vc8.vcproj or msgpack_vc2008 file and build it using batch build. DLLs are built on lib folder,
|
|
||||||
and the headers are built on include folder.
|
|
||||||
|
|
||||||
To use the library in your program, include msgpack.hpp header and link "msgpack" library.
|
|
||||||
|
|
||||||
|
|
||||||
## Example
|
|
||||||
|
|
||||||
#include <msgpack.hpp>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
int main(void) {
|
|
||||||
// This is target object.
|
|
||||||
std::vector<std::string> target;
|
|
||||||
target.push_back("Hello,");
|
|
||||||
target.push_back("World!");
|
|
||||||
|
|
||||||
// Serialize it.
|
|
||||||
msgpack::sbuffer buffer; // simple buffer
|
|
||||||
msgpack::pack(&buffer, target);
|
|
||||||
|
|
||||||
// Deserialize the serialized data.
|
|
||||||
msgpack::unpacked msg; // includes memory pool and deserialized object
|
|
||||||
msgpack::unpack(&msg, sbuf.data(), sbuf.size());
|
|
||||||
msgpack::object obj = msg.get();
|
|
||||||
|
|
||||||
// Print the deserialized object to stdout.
|
|
||||||
std::cout << obj << std::endl; // ["Hello," "World!"]
|
|
||||||
|
|
||||||
// Convert the deserialized object to staticaly typed object.
|
|
||||||
std::vector<std::string> result;
|
|
||||||
obj.convert(&result);
|
|
||||||
|
|
||||||
// If the type is mismatched, it throws msgpack::type_error.
|
|
||||||
obj.as<int>(); // type is mismatched, msgpack::type_error is thrown
|
|
||||||
}
|
|
||||||
|
|
||||||
API documents and other example codes are available at the [wiki.](http://redmine.msgpack.org/projects/msgpack/wiki)
|
|
||||||
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Copyright (C) 2008-2010 FURUHASHI Sadayuki
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
See also NOTICE file.
|
|
||||||
|
|
@@ -21,13 +21,13 @@ else
|
|||||||
preprocess src/msgpack/type/define.hpp
|
preprocess src/msgpack/type/define.hpp
|
||||||
preprocess src/msgpack/zone.hpp
|
preprocess src/msgpack/zone.hpp
|
||||||
fi
|
fi
|
||||||
cp -f ../msgpack/sysdep.h src/msgpack/
|
cp -f sysdep.h src/msgpack/
|
||||||
cp -f ../msgpack/pack_define.h src/msgpack/
|
cp -f pack_define.h src/msgpack/
|
||||||
cp -f ../msgpack/pack_template.h src/msgpack/
|
cp -f pack_template.h src/msgpack/
|
||||||
cp -f ../msgpack/unpack_define.h src/msgpack/
|
cp -f unpack_define.h src/msgpack/
|
||||||
cp -f ../msgpack/unpack_template.h src/msgpack/
|
cp -f unpack_template.h src/msgpack/
|
||||||
cp -f ../test/cases.mpac test/
|
cp -f cases.mpac test/
|
||||||
cp -f ../test/cases_compact.mpac test/
|
cp -f cases_compact.mpac test/
|
||||||
|
|
||||||
sed -e 's/8\.00/9.00/' < msgpack_vc8.vcproj > msgpack_vc2008.vcproj
|
sed -e 's/8\.00/9.00/' < msgpack_vc8.vcproj > msgpack_vc2008.vcproj
|
||||||
sed -e 's/9\.00/10.00/' -e 's/msgpack_vc8/msgpack_vc2008/' < msgpack_vc8.sln > msgpack_vc2008.sln
|
sed -e 's/9\.00/10.00/' -e 's/msgpack_vc8/msgpack_vc2008/' < msgpack_vc8.sln > msgpack_vc2008.sln
|
Reference in New Issue
Block a user