2010-07-16 4 views
0

Je cherche un moyen efficace d'implémenter un mécanisme de sérialisation en C. Je sais qu'il serait simple de simplement stocker les données dans JSON, par exemple, puis de les réinitialiser tout pendant l'analyse.Je suis à la recherche d'un mécanisme efficace de sérialisation des objets C

Mais je me demande s'il est possible (ou en vaut la peine) d'écrire quelque chose qui va prendre ma structure (contenant dynamiquement des données allouées), convertir toutes ses données et tous les pointeurs en tampon, donc je peux placer ce tampon dans un fichier. Ensuite, je voudrais lire le fichier, récupérer le contenu, malloc un emplacement de la taille du contenu du fichier, et placer le contenu dans cet endroit.

Je pense qu'il est possible de faire (convertir tous les pointeurs en un type de schéma de pointage local et placer toutes les structures de manière appropriée dans un tampon pour correspondre à ces pointeurs). Je me demande si un sérialiseur tiers existe comme ça, ou si cela vaut la peine de l'implémenter.

Répondre

3

Vous pouvez regarder dans les tampons de protocole: http://code.google.com/p/protobuf/, ils ont décent c tool support

Cependant, dans mon expérience tout simplement le faire le plus facile, moyen le plus lisible par l'utilisateur (pour le débogage des données sérialisés) en premier. Concevoir en gardant à l'esprit que vous devrez peut-être le changer plus tard.

Ensuite, si les contraintes de disque ou de vitesse le font absolument, positivement, vous devez donc passer à quelque chose de mieux le faire. Fondamentalement comme dans (presque) toutes les choses optimisent en dernier.

+0

Je vais vérifier cela. On dirait que c'est ce que je cherche! – lxe

Questions connexes