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

Linux Discussion :

dlopen de plusieurs lib


Sujet :

Linux

  1. #1
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut dlopen de plusieurs lib
    Bonjour,

    Voici mon problème :

    J'ai un programme qui load deux lib (A et B). Je ne connais pas à l'avance dans quel ordre dlopen() va les charger.
    Dans la lib A j'aimerai utiliser des "symboles" de la lib B. Le problème c'est que si la lib A est chargée avant la lib B elle me renvoi forcement une erreur :
    " undefined symbol: foo".

    Quel est le meilleurs moyen pour pallier à ce genre de problème ? Charger la lib B dans chaque lib où je l'utilise ?

    En gros c'est un système de plugins où certain aurais des dépendances d'autres plugins.

    Merci

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Si le plugin A a une dépendance sur le plugin B, alors le plus simple semble de vérifier au lancement de A si B est charge ou non. Si oui, tu continues, si non, tu charges B (ou demande son chargement).

    Autre solution : tu passes par un fichier de configuration qui permet d'ordonnancer le lancement. Cela suppose que tu n'as pas de lancement de plugins a chaud (alors que d'autres sont deja en cours d'execution).

  3. #3
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Merci pour ta réponse.
    Au final ce que j'ai fais c'est linker la lib B à la lib A. B est maintenant chargé quand je charge A.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/01/2015, 19h55
  2. Réponses: 6
    Dernier message: 17/12/2014, 00h37
  3. [GCC] Créer une lib à partir de plusieurs lib
    Par manrugby dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 14/01/2010, 10h05
  4. Problème liaison C/C++ avec PLUSIEURS libs so ADA
    Par bineuronne dans le forum Ada
    Réponses: 2
    Dernier message: 27/02/2008, 13h29
  5. Shortcut avec plusieurs touches
    Par scorpiwolf dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/07/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