invalid pointer [C++ DL Linux] - C++ - Programmation
Marsh Posté le 31-01-2006 à 20:56:16
et l'assignation et la copie ne sont pas safe, il faut au moin un constructeur qui appel open, un destructeur qui appel close, le constructeur par copie et l'operateur d'affectation définies
Marsh Posté le 03-02-2006 à 22:39:41
Si je ne l'ai pas mis de un déstructeur il y a peut être une raison.
Sinon ça peut pas être dû à un truc genre dlclose(NULL) car il vérifie avant.
Marsh Posté le 04-02-2006 à 13:55:53
RaphAstronome a écrit : Si je ne l'ai pas mis de un déstructeur il y a peut être une raison. |
pour quelle raison tu ne le met pas dans destructeur ? en fait c'est quoi l'interet d'utiliser une classe dans ce cas ? (surtout que à par ca c'est du C)
Pour le bug si ca ne peut pas etre un dlclose sur un handle deja fermé alors c'est que l'espace memoire ou se trouve l'objet est corrompu, faut voir du coté du code appelant
Marsh Posté le 31-01-2006 à 20:02:16
J'utilise cette classe pour charger des .so, le fonctionnement est assez simple :
Tout fonctionne à merveille sauf que au niveau de dlclose() j'obtient :
*** glibc detected *** free(): invalid pointer: 0x0000000000721ca8 ***
Et lorsque je l'enleve ça marche (sauf que ça ferme pas comme il faut la lib "dl" )
dlclose n'est jamais sensé planter même avec un pointeur foireux (et je suis sur que non).