Bonjour à tous,
Pour des pbs de performance client, je reviens au C++.
Cela quelque année que je n'avais plus utilisé ce langage et me voila bien rouillé.
J'ai une erreur à la construction de l'objet boost::archive:: xml_oarchive, il me donne une violation de mémoire ( comme java est doux :-) ).
voici l'extrait de code qui donne l'erreur d'exécution à la ligne ou je construit l'objet.
L'erreur survient sur boost::archive:: xml_oarchive oa(ofs);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void save(const DataClass &s, const char * filename){ // make an archive std::ofstream ofs(filename); assert(ofs.good()); boost::archive::xml_oarchive oa(ofs); oa << BOOST_SERIALIZATION_NVP(s); }
voici l'appel de la fonction :
J'ai testé l'example de sérialization fournit par boost et celui marche très bien ce n'est donc pas un pbs de dll.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int _tmain(int argc, _TCHAR* argv[]) { DataClass c; c.setA(3); c.setStr("test"); //std::string filename(boost::archive::tmpdir()); std::string filename(boost::archive::tmpdir()); filename += "/demo.xml"; save(c, filename.c_str()); return 0; }
Je dois serializer tous un tas d'objet en XML, et me voila bloqué sur un test tout simple.
Merci d'avance de votre aide et de votre tolérence.
PS : j'utilise VC++ 2008
Partager