Merci,
je reviens une fois que je me suis renseigné sur les DLLs, et que j'aurais testé quelques trucs! (ou pas)
Version imprimable
Merci,
je reviens une fois que je me suis renseigné sur les DLLs, et que j'aurais testé quelques trucs! (ou pas)
regarde du côté de codeproject, ils ont un tutoriel sur le chargement des DLLs sous Windows et sous Unix (Linux et OSX, c'est pareil). Si je retrouve le code que j'ai developpé à partir dudit tuto ( = repompé), je le poste ici. C'est pas très difficile au final, et ca marche à la fois avec les DLL, les SO et les DYLIB (OSX).
EDIT: Ce fut rapide à retrouver. Voici les 2 fichiers (h et cpp).
Merci beaucoup,
c'est exactement ce que je recherchais (décidément j'adore ce forum :P).
Avec ça je suis paré!
EDIT: Il n'y a pas d'incompatibilité entre le C++ et les DLLs? Par exemple: Je crée une classe dérivée à l'aide d'une fonction de la DLL, classe dérivée qui existe seulement dans la DLL, je la caste en pointeur de classe de base et l'utilise dans le programme.
Lorsque je la détruis dans le programme, en faisant un delete, elle se détruira proprement?? C'est-à-dire que le destructeur de la classe dérivée sera bien appelé, les ressources supplémentaires de la classe dérivée seront bien libérées, etc. ?
C'est vrai que sans les exemples, c'est un peu court...
donc, ITest.h contient la définition de l'interface (classe abstraite), main.cpp le programme principal qui montre comment charger une fonction et une classe.
Test_b.cpp implemente l'interface dans une classe.
J'ai bloggé sur ce truc il y a qqs temps déjà, tout devrait y être:
http://www.kirin-fx.ne/blog/?p=51
Si tu veut que tes plug in soit indépendant des compilateurs. Il faut que tu utilise une interface de type C.
Ou, sous Windows, en faire un composant COM. Mais j'ignore s'il y a un équivalent sous nux...
XPCOM, CORBA et tout un tas d'autres lourdeurs immondes.
Je vois... C'est vraiment lourd par rapport à ce dont on a besoin ici.
Alors qu'un simple objet COM in-process monothreadé correspond tout-à-fait et n'a besoin de pratiquement rien...
Merci ...
Normalement le compilateur utilisé sera le même, donc ça va :)
Encore merci à tout le monde!
Coyotte507