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

C++ Discussion :

CRunTimeClass sous linux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut CRunTimeClass sous linux
    j'aurais aimé savoir si y a possibilité de faire fonctionner un equivalent des CRuntimeClass sous linux? (c'est toujour bon de savoir si c'est possible ou pas)


    Pour ce qui est de mon probleme perso, je porte une librairie de windows vers linux.
    Les developpeurs ont utilisé une version custom des CRuntimeClass.
    Lors de l' IMPLEMENT_DYNAMIC de chacune des classes, en plus de tout un tas de choses, Une instance de cette runtimeclass est ajouté à une liste statique.
    Cette liste permetra de creer une instance à partir d'une chaine de charactères.
    Le probleme c'est que la liste est incomplete à l'execution. Certaines classes sont presentes sous windows et pas sous linux alors qu'il n'y a pas de differences notable entre elles(et que le code Windows/linux est le meme).

    Comme c'est la premiere fois que j'ai à faire avec les runtimeClass, je ne sais pas trop quels facteurs ont de l'influence. Je tourne un peu en rond et j'en appel a l'aide de la communauté développez.com

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Eh bien, th théorie ça devrait marcher, mais il y a facilement des différences lors des instanciations d'objets globaux.

    La CRuntimeClass elle-même ne devrait pas être un problème, surtout avec l'implémentation de MFC, mais là où il peut y avoir un problème, c'est dans les relations d'une classe à l'autre (pointeur vers la CRuntimeClass de la classe mère, liste de CRuntimeClass...)...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    et tu n'aurais pas une idée de comment je pourrais gerer ces problemes de liste globale de RuntimeClass dans une librairie.
    En quoi la gestion de ces pointeurs est different de windows a linux?

    merci

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Le problème, c'est que j'ignore comment la liste elle-même est instanciée.
    Et j'ignore si on a partout les mêmes garanties que la liste existe quand on veut y ajouter quelque chose...

    Sans compter les problèmes qui peuvent être dûs à des DLLs (ou .so) quand certaines sont liées en statique à MFC (ou toute autre bibliothèque qui comporte une collection "globale")...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 10
    Par défaut
    J'ai compris d'où venait le problème.
    Ma liste est instanciée dans un fichier appellé runtime .cpp
    Lors de l'execution, la liste se remplie dans l'ordre antialphabetique du nom des fichiers (surement parceque mon makefile les a fournis comme ca)
    Zia
    Zia Yoko
    Zia Yoko Xena
    Zia Yoko Xena Wendy
    Zia Yoko Xena Wendy Vanessa
    Zia Yoko Xena Wendy Vanessa Tania
    Zia Yoko Xena Wendy Vanessa Tania Sabrina
    hop...la liste se reinitialise et:
    Roxanne
    Roxanne Quynh (et oui c'est dur avec un Q)

    la presence de runtime (c'est un prenom feminin ca?) entre Sabrina et Roxane
    n'est pas un hasard

    J'aimerais donc savoir s'il n'initialise sa liste qu'à ce moment là, que fait il avant avec les autres prenoms?
    Ensuite que puis-je faire pour remedier au problème (sans faire de bricolage dans le makefile) ?

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Donc, ta liste est dans "runtime", et n'est pas initialisée en premier ?
    Je peux voir comment est initialisée la liste et comment le programme y accède (sans doute dans le constructeur de CRuntimeClass) ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [Série] Accès au port série sous linux
    Par ghost dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 10/10/2007, 10h43
  2. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 10h46
  3. installer jbuilder7 sous linux
    Par rtlinfo34 dans le forum JBuilder
    Réponses: 5
    Dernier message: 30/10/2002, 19h16
  4. Réponses: 2
    Dernier message: 25/10/2002, 22h19
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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