Gestion de plugins en C - C++ - Programmation
Marsh Posté le 01-02-2003 à 20:40:12
t'es sur la mauvaise voie, puisque les librairies partagées ne sont pas des plugins
Marsh Posté le 01-02-2003 à 21:25:42
OK merci.
Apparemment, je dois utiliser dlopen sur tous les fichiers .so du répertoire courant...
Je viens de trouver cette page qui explique très clairement comment utiliser dlopen.
Marsh Posté le 01-02-2003 à 21:48:37
Ouais mais moi le seul man que j'avais ct ca...
Un peu plus technique déjà.
La page en question, elle est hyper claire, elle contient un exemple qui est très parlant et surtout, ce que j'avais du mal à trouver : la commande de compilation qui va bien pour éviter les erreurs au linkage (il faut ajouter -rdynamic et -ldl).
Maintenant je cherche comment récupérer la liste de tous les fichiers .so du répertoire courant... pas si simple
Marsh Posté le 01-02-2003 à 20:24:01
Voilà,
Je voudrais permettre aux utilisateurs de mon programme d'utiliser des plugins (.so) qu'ils mettraient dans le répertoire du programme.
En lisant ce post et cette page qui évoque le sujet, j'ai compris comment faire une librairie dynamique et ça marche : j'arrive à appeller les fonctions de ma librairie, et si je la modifie, les modifications prennent bien effet dans le programme principal sans que celui-ci ait été recompilé.
Oui mais le problème c'est que je dois indiquer le nom de la librairie lors de la compilation de mon programme principal. Donc il ne peux y avoir qu'un seul plugin, alors que je préfèrerais que mon programme principal parcourt tous les fichiers .so du répertoire courant, et les exécute tous.
Donc je pense que les librairies dynamiques ne fonctionnent pas comme les plugins, et que je suis sur la mauvaise voie. A votre avis ?