Visual C++ Gestion de la mémoire...

Visual C++ Gestion de la mémoire... - Programmation

Marsh Posté le 08-06-2001 à 11:39:50    

Dans quels cas faut-il libérer la mémoire ? avec Quelle fonction (free, FreeMemory, ZeroMemory, pointer vers NULL ?) ?
Pouvez vous me donner quelques exemples de chose à faire et à ne pas faire ?
 
Par exple, est-ce qu'on doit libérer une structure de type WNDCLASS ? WIN32_FIND_DATA ?
Doit-on libérer un HANDLE ?
 
 
Et dans quels cas, Windows gère tout seul la désallocation ?

 

[edit]--Message édité par Moustaaki--[/edit]

Reply

Marsh Posté le 08-06-2001 à 11:39:50   

Reply

Marsh Posté le 08-06-2001 à 11:42:59    

Moustaaki a écrit a écrit :

Dans quels cas faut-il libérer la mémoire ? avec Quelle fonction (free, FreeMemory, ZeroMemory, pointer vers NULL ?) ?
Pouvez vous me donner quelques exemples de chose à faire et à ne pas faire ?
 
Par exple, est-ce qu'on doit libérer une structure de type WNDCLASS ? WIN32_FIND_DATA ?
Doit-on libérer un HANDLE ?
 
 
Et dans quels cas, Windows gère tout seul la désallocation ?
 
 




 
Normalement tu dois desalouer tout ce que tu as alloue.
new -> delete
malloc, alloc, realloc -> free
 
ZeroMemory et mettre un pointeur a NULL ne deslloue rien...

Reply

Marsh Posté le 08-06-2001 à 11:44:47    

donc à partir du moment où je n'ai fais aucun new et aucun alloc, c'est bon, ya rien à faire ?
 
un HANDLE truc, windows le gère tout seul ?
si c'est le cas, c'est cooll, c'est moin chiant que je ne l'imaginait...

Reply

Marsh Posté le 08-06-2001 à 12:48:03    

Pour les handles sous toutes leurs formes, il faut peut-être consulter l'aide de la fonction utilisée pour voir quelle est la fonction de "fermeture".
En C "brut", hdc = GetDC(hWnd) se termine après usage par un ReleaseDC(hdc, hWnd); sinon problème ..  
Idem pour GetObject(), pour les fontes, etc.. Quand on SelectPen(), faut le "releaser" ensuite, car ce sont des objets en mémoire qui occupent des ressources.
 
NB : je connais pas (encore) C++. Il doit y avoir l'équivalent de ces fonctions "basiques" du C/Windows.

Reply

Marsh Posté le 08-06-2001 à 15:40:38    

j'aimerais juste savoir pour HANDLE !
 
LoadLibrary -> FreeLibrary
 
GetProcAdress -> ??
 
HANDLE -> rien ?

Reply

Marsh Posté le 08-06-2001 à 15:42:59    

Moustaaki a écrit a écrit :

j'aimerais juste savoir pour HANDLE !
 
LoadLibrary -> FreeLibrary
 
GetProcAdress -> ??
 
HANDLE -> rien ?




 
HANDLE -> CloseHandle
GetProcAdress -> rien, tu fais que lire une adresse

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed