Merci,
je reviens une fois que je me suis renseigné sur les DLLs, et que j'aurais testé quelques trucs! (ou pas)
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).
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...
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.
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...
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.
Merci ...
Normalement le compilateur utilisé sera le même, donc ça va
Encore merci à tout le monde!
Coyotte507
Partager