IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Boost C++ Discussion :

Boost sérialisation et classes dérivées.


Sujet :

Boost C++

  1. #1
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut Boost sérialisation et classes dérivées.
    Bonjour,

    J'ai une classe de base (virtuelle pure) qui sert d'interface. Toute instance d'une des classes héritant de la classe de base se fait par le biais d'une factory.
    Toutes les classes filles de ma classe de base sont gérés sous forme de plugin (chargés dynamiquement à l'éxécution avec dlopen)
    Toutes ces classes sont sérialisables.
    Mon problèmes et de sérialiser la bonne classe fille à partir d'un pointeur sur la classe Mere. J'ai vu dans la documentation de boost qu'il fallait utiliser la macro BOOST_CLASS_EXPORT. Le problème est que lorsque j'inclu cette macro dans la classe fille j'ai une erreur de compilation qui m'indique que je rédéfini une variable de boost export.
    Ma ou plutôt mes questions sont où doit-on mettre la macro BOOST_CLASS_EXPORT ?
    Comment gérer se problème de sérialisation de pointeur de base alors que les classes filles sont dans des plugins ?

    Merci de l'aide que vous pourrez m'apporter parceque là je galère franchement.

  2. #2
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Bonjour,

    Malheureusement, je n'ai pas mon code sur moi pour te dire exactement.

    Par contre, j'en ai posté une partie significativer ici

    Elle permet de serializer des instances d'une classe "SynchroTurn" qui dérive d'une classe "Ping" qui dérive d'une classe "Message".
    "Message" étant par ailleurs abstraite.

    Tu verras dans le post qu'il y a une subtilité qui m'échappe quand à la syntaxe exacte, mais elle ne remet pas en cause le bon fonctionnement du code.

    J'espère que ça t'aidera.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 227
    Par défaut
    J'avais jeter un oeil, mais celà ne résoud pas mon problème.
    En mettant le EXPORT dans la partie .cc celà résoud le problème de la compilation et la Sérialisation des pointeurs se passe bien, cependant la désérialisation échoue, BOOST n'arrive pas à créer une instance de la classe fille.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2011, 00h44
  2. Réponses: 2
    Dernier message: 14/11/2009, 02h17
  3. Réponses: 4
    Dernier message: 20/11/2005, 05h48
  4. [MFC] CArray et classe dérivée?
    Par TigreRouge dans le forum MFC
    Réponses: 14
    Dernier message: 02/08/2005, 22h45
  5. Déterminer le type d'une class dérivée
    Par LDDL dans le forum MFC
    Réponses: 3
    Dernier message: 10/12/2004, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo