Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1570 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] New/Delete

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] New/Delete

n°60162
aqwsezsxdr
Posté le 18-09-2001 à 20:40:33  profilanswer
 

Je dois tracer des fuites de memoire et je peux pas utiliser des outils tel que purify.  
J'ai donc surcharge (un peu comme M$ le fait) le new par
 
void * operator new (size_t size, char *fileName, int ligne)
{
  //log du fileName et de la ligne
 .....
}
 
avec un #define new new(__FILE__,__LINE__)
 
ca marche super bien, mais j'ai pas reussi à faire la meme chose avec le delete :
#define delete delete(__FILE__,__LINE__)
est rejette par le compilo (gcc, sunpro, visual)
 
y'a-t-il une solution simple ?

mood
Publicité
Posté le 18-09-2001 à 20:40:33  profilanswer
 

n°60192
BifaceMcLe​OD
The HighGlandeur
Posté le 18-09-2001 à 21:53:52  profilanswer
 

Euh... Renommer la fonction delete qui est appelée par ta macro.
J'ai bon ?

n°60196
aqwsezsxdr
Posté le 18-09-2001 à 22:17:37  profilanswer
 

nan, c'est pas bon du tout
apres le passage du preprocesseur on aurait avec une autre fct :
 
#define delete fonction(__FILE__,__LINE__)
 
int *a = new int;
 
delete a;
 
---->
int *a = new int;
 
fonction("nom de fichier source",noLigne) a; //gros probleme
 
 
en plus, je peux pas m'amuser à remplacer les quelques centaines de delete dans tout mon projet....
 
avec le new ca passe,  
#define new new(__FILE__,__LINE__)  
est remplace dans une alloc par
int *a = new("nom de fichier source",noLigne) int; //c'est un operateur admis par le compilo

 

[edtdd]--Message édité par aqwsezsxdr--[/edtdd]

n°60205
BifaceMcLe​OD
The HighGlandeur
Posté le 18-09-2001 à 22:59:10  profilanswer
 

Et un

Code :
  1. #define delete fonction(__FILE__,__LINE__); delete


ça marche ? :??:
Je sais, là on commence à faire dans le pas très subtil :sarcastic: , mais bon, j'essaie...

n°60208
aqwsezsxdr
Posté le 18-09-2001 à 23:09:29  profilanswer
 

arf oui :) ca marche la, j'y ai meme pas pensé comme quoi faut pas toujours chercher tres loin (je m'en fous que le code soit pas propre, c'est juste pour traquer les alloc et desalloc)...
thnx  :jap:

n°60221
BifaceMcLe​OD
The HighGlandeur
Posté le 19-09-2001 à 00:09:44  profilanswer
 

De rien !  :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] New/Delete

 

Sujets relatifs
[Access] Récup de message après requête DELETE pour personnalisationenvoi de la commande correspondant à la touche "delete" sous unix
[JAVA] et base de donnees, comment faire un update, ou un delete ou .. 
Plus de sujets relatifs à : [C++] New/Delete


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR