cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 2009
-
29 juin 2004 à 13:52
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005
-
30 juin 2004 à 02:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BlackGoddess
Messages postés338Date d'inscriptionjeudi 22 août 2002StatutMembreDernière intervention14 juin 2005 30 juin 2004 à 02:34
attention : si on utilise HeapAlloc pour allouer, il faut bien utiliser HeapFree pour libérer.
cs_jasonbecker
Messages postés6Date d'inscriptionmercredi 16 avril 2003StatutMembreDernière intervention29 novembre 2004 30 juin 2004 à 01:37
Merci pour l'astuce Xs, comment connais tu ca ? t as tout de suite compri le prob ? chapo ! :)
Si tu pouvais m'expliquer, ca veut dire qu'il faut bien vider la mémoire ou un truc du genre ?
En tout cas ca fait plaisir que des personnes s'y interessent !
cs_Xs
Messages postés368Date d'inscriptionmercredi 14 novembre 2001StatutMembreDernière intervention 1 septembre 2008 29 juin 2004 à 19:28
Utilise ZeroMemory(void* var, int size) (enfin la macro) pour initialiser tes variables. Ou au lieu d'allouer comme ca :
char* MyStr;
MyStr = new char[size];
ZeroMemory(MyStr,size);
30 juin 2004 à 02:34
30 juin 2004 à 01:37
Si tu pouvais m'expliquer, ca veut dire qu'il faut bien vider la mémoire ou un truc du genre ?
En tout cas ca fait plaisir que des personnes s'y interessent !
29 juin 2004 à 19:28
char* MyStr;
MyStr = new char[size];
ZeroMemory(MyStr,size);
fais comme ca :
char* MyStr;
MyStr = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,size)
Ou encore en redéfinissant new
void* __declspec operator new(size_t size)
{
if( size > 1 )
return HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,size);
else
return NULL
}
et en utilisant
MyStr = new char[size];
29 juin 2004 à 19:28
char* MyStr;
MyStr = new char[size];
ZeroMemory(MyStr,size);
fais comme ca :
char* MyStr;
MyStr = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,size)
Ou encore en redéfinissant new
void* __declspec operator new(size_t size)
{
if( size > 1 )
return HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,size);
else
return NULL
}
et en utilisant
MyStr = new char[size];
29 juin 2004 à 14:23
29 juin 2004 à 13:52