29. august 2004 - 12:04
Der er
12 kommentarer og 2 løsninger
memory management
char *a = (char*) malloc(10*sizeof(char)); free(a); Ok, hvordan er basis modellen til at håndtere memory, og sørge for at ingen leaks finder sted ??
Annonceindlæg fra Barco
29. august 2004 - 12:24
#2
C har kun en metode mod memory leaks: programmøren tænker sig om ! Min erfaring er at det er noget nemmere hvis man helt systematisk altid kalder malloc og free i samme funktion.
29. august 2004 - 13:16
#3
arne_v >> Ok, jeg synes bare altid at jeg har hørt mange snakke om, at det er godt at have en mem handler, som sørge for at det ikke forekommer.
29. august 2004 - 13:27
#4
"som sørge for at det ikke forekommer" - det forekommer !
29. august 2004 - 13:27
#5
Hvorfor tror du at Java og .NET er skiftet til garbage collection (altså at systemet selv frigør memory) i.s.f. at overlade det til programmøren ?
29. august 2004 - 13:46
#6
hmm...hvis man så har en structur med data, og man ønsker at frigive noget fra structuren, hvordan ville du så sikre at det var bleven frigivet ?
29. august 2004 - 13:52
#7
Du kan ikke frigive dele af en allokering. Man vil typisk lade en struct indeholde en pointer og så kan man allokere og deallokere den uafhængigt af resten af structen.
29. august 2004 - 14:38
#8
det var også det som jeg mente..bare med flere pointere af gangen
30. august 2004 - 08:18
#9
.. en anden meget go' måde at undgå memoryleaks på er at benytte smartpointere
31. august 2004 - 18:34
#10
smartpointere ??
31. august 2004 - 19:33
#11
01. september 2004 - 19:30
#12
arne_v giv et svar ;)
01. september 2004 - 19:33
#13
ok
01. september 2004 - 19:35
#14
smartpointers :) NICE :)
Kurser inden for grundlæggende programmering