Cross-platform and language (de)serialization

Posted by fwgx on Stack Overflow See other posts from Stack Overflow or by fwgx
Published on 2009-09-14T13:57:31Z Indexed on 2010/04/12 21:33 UTC
Read the original article Hit count: 320

I'm looking for a way to serialize a bunch of C++ structs in the most convenient way so that the serialization is portable across C++ and Java (at a minimum) and across 32bit/64bit, big/little endian platforms. The structures to be serialized just contain data, i.e. they're pure data objects with no state or behavior.

The idea being that we serialize the structs into an octet blob that we can store in a database "generically" and be read out later on. Thus avoiding changing the database whenever a struct changes and also avoiding assigning each data member to a field - i.e. we only want one table to hold everything "generically" as a binary blob. This should make less work for developers and require less changes when structures change.

I've looked at boost.serialize but don't think there's a way to enable compatibility with Java. And likewise for inheriting Serializable in Java.

If there is a way to do it by starting with an IDL file that would be best as we already have IDL files that describe the structures.

Cheers in advance!

© Stack Overflow or respective owner

Related posts about cross-platform

Related posts about serialization