|
Bas de page | |
---|---|
Auteur | Sujet : DLL et destructeur de classes |
Publicité | Posté le 26-01-2005 à 15:50:25 |
Joel F Real men use unique_ptr | peut etre qu'avec des destructeurs virtuels ??? |
haazheel | non, j'avais essayé, même en mettant les destructeurs de DS_Graph et DS_Base virtuels purs, ça donne rien.
|
HelloWorld Salut tout le monde! | Je suppose que c'est pour une utilisation de type factory (tu renvoie un TVideoAffich dont l'implémentation est cachée par la dll et peut varier selon X ou Y).
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel |
|
HelloWorld Salut tout le monde! |
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel | Bon finalement j'ai choisi de créer des bibliothèques statiques plutôt que des DLL.
|
HelloWorld Salut tout le monde! | D'après mon expérience, faut surtout pas ajouter de .lib à un .lib car si par malheur dans ton exe tu dois utiliser les 2 ou si une 3° lib utilise l'un des 2 tu as des symboles dupliqués. Donc tu files A.lib et B.lib a final.exe.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel |
|
HelloWorld Salut tout le monde! | A toi de voir ce qui est le + gonflant entre mettre le path 1 fois dans les settings projet ou a chaque fois dans les #include. --------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
Publicité | Posté le 27-01-2005 à 18:41:44 |
haazheel | Encore une question:
|
haazheel | J'ai fait ceci, qui a l'air de fonctionner, mais qui a l'air de provoquer une fuite mémoire (sur base des classes que j'ai mentionné plus haut):
|
HelloWorld Salut tout le monde! | Il faut que tes dll partagent la même CRT (lib standard) sinon va y avoir probleme (chaque dll aura sa propre gestion des new/delete). A part ça new/delete sur une classe importée statiquement ça devrait marcher.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel | Mon problème, et je pense que tu l'as bien compris, est que mes Dlls ne servent juste qu'à "stocker" mes classes communes à mes différents projets. Là je tentais de les utiliser dynamiquement à cause d'autres problèmes dus à BCB6.
|
HelloWorld Salut tout le monde! | Créer un .lib ou une dll, si c'est linké en static, pas de problème à priori, sauf pour la dll ou il faut veiller à partager la lib standard (option de compilation). Mais ça marche très bien ensuite, y'a plein de dll qui font ça. Au hasard Qt : des dizaines et des dizaines de classes toutes importées (statiquement) depuis une dll. Idem les MFC, et plein d'autre exemples...
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel | Effectivement partager des classes comme ça, c'est vraiment pas mal, notamment pour les mises à jour.
|
HelloWorld Salut tout le monde! | Si tu link en static la dll t'as pas à gérer le DllMain normalement.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel |
|
HelloWorld Salut tout le monde! | Ah ben oui si ton Singleton doit être libéré c'est pas top. Pourquoi tu utilises pas un objet statique automatique (c.f mon exemple) au lieu d'un objet alloué dynamiquement ?
?
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel |
c'est parce que Gestion_BDD dérive d'un template, donc il faut une instanciation, qui est protected dans le template, d'où le friend pour que Gestion_BDD puisse y accéder. C'est mieux expliqué ici http://loulou.developpez.com/tutor [...] tie1/#L3.4
|
HelloWorld Salut tout le monde! | __fastcall c'est un bon moyen de rendre le code non portable (tout ce qui commence par un ou deux underscore est à éviter). En général au lieu de faire ça partout tu as une option de ton compilateur pour changer la convention par défaut.
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel | A quoi ressemble la classe complète alors? |
HelloWorld Salut tout le monde! | http://c.developpez.com/faq/cpp/?p [...] _singleton --------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
haazheel | J'vais jeter un oeil, merci
|
Publicité | Posté le |
Sujets relatifs | |
---|---|
debuggage d'une DLL sous visual studio.net C++ | VB.NET classes et tableaux de classes |
[UML] diagramme des classes et linux | Utilisation d'une DLL dans Java |
exporter des instances de classes d'une Dll | DLL en ressource avec Devcpp |
Export de fonctions EXE -> DLL et DLL -> EXE | [Axis - Web Service - newbe] Utiliser des objets d'autre classes... |
destructeur | |
Plus de sujets relatifs à : DLL et destructeur de classes |