sous win32 il y a lgtps que g désassemblé un prog et que g constaté que lorsqu'on fait char* str = "fdsqfqs"; str renvoit directement dans l'emplacement mémoire ou a été chargé le segment de données de l'executable, au debut de la chaine dans cette emplacement mémoire, donc je savais tres bien qu'il etait impossible de détruire ca (cet emplacement mémoire est verrouillé avec l'attribut read-only).
En fait, mon probleme est que j'ai créé une boucle de message ou d'un coté on peut donc sotcker des message, et de l'autre coté les retirer. le probleme est que les messages stocké peuvent contenir des chaines alloué, et des chaines statiques, et pour qu'il n'y ait pas de fuite de mémoire, la partie qui retire les messages doit donc détruire les chaines allouées.
il me semble avoir trouvé une solution (sous win32 tjs) en utilisant les API HeapAlloc et HeapFree. HeapFree retourne FALSE si il ne peut pas libérer la mémoire (donc une chaine statique) au lieu de produire une exception.
j'ai regardé, mon compileur les allocation de new dans le heap aussi, donc ca devrait a peu pret resoudre mon probleme.
---------------
-( BlackGoddess )-