Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Serializing C++ objects

I would like to implement a Serialization Class which takes in an object and converts it into a binary stream and stored in a file. Later, the object should be reconstructed from a file.

Though this functionality is provided by BinaryFormatter in C#, I would like to design my own Serialization class from scratch.

Can someone point to some resources ?

Thanks in advance

like image 686
KodeWarrior Avatar asked Dec 27 '22 17:12

KodeWarrior


2 Answers

I would like to give you a negative answer. It is less useful but it still may be.

I have been using boost serialization for several years and it was one of the greatest strategic mistakes of my company. It produces very large output, it is very slow, it propagates a whole bunch of dependencies making everything impossibly slow to compile, and then it is hard to get out because you have existing serialized formats. Further, it behaves differently on different compilers, thus upgrade from VS2005 to 2010 actually caused us to write a compatibility layer, which is also hard coz the code is very hard to understand.

like image 90
Pavel Radzivilovsky Avatar answered Jan 11 '23 12:01

Pavel Radzivilovsky


Here are 2 solutions for C++ serialization:

  • Stephan Beal's s11n serialization library
  • boost serialization library

I personally only have experience with the 1st one and actually only used text based serializers, but i know that it's easy to define binary serializers for use with s11n.

like image 31
πάντα ῥεῖ Avatar answered Jan 11 '23 11:01

πάντα ῥεῖ