-
dlsym() et export
Bonjour,
Je fais en ce moment un programme qui accepte des "plugins". Le tout se fait avec un appeal à dlsym() pour appeler la fonction "init_plugin" se situant dans les binaires du plugin.
Cependant j'aimerais en contrepartie que le plugin puisse appeler des fonctions du programme "père", c'est à dire celui qui fait l'appel de "init_plugin".
Quelle est la meilleure solution pour ce faire?
Merci
Array
-
Bonjour,
Une solution que je vois, c'est passer des pointeurs de fonctions en paramètres à la fonction de votre bibliothèque. Ainsi, le processus père appelle la fonction du plugin avec les pointeurs qui seront utilisées par la fonction du plugin. Par contre, je trouve cela assez "dangereux". Sinon, vous faites une troisième bibliothèque, qui est utilisé par le processus père et par les plugins et qui contient ces fonctions (si cela est logiquement valable).