Avatar billede Daniel.E Praktikant
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 ??
Avatar billede x4all_dk Nybegynder
29. august 2004 - 12:07 #1
Jeg vil tro at "Mark and sweep" er ret nem og god.

http://www.brpreiss.com/books/opus5/html/page424.html

Evt. søg på Google.
Avatar billede arne_v Ekspert
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.
Avatar billede Daniel.E Praktikant
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.
Avatar billede arne_v Ekspert
29. august 2004 - 13:27 #4
"som sørge for at det ikke forekommer" - det forekommer !
Avatar billede arne_v Ekspert
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 ?
Avatar billede Daniel.E Praktikant
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 ?
Avatar billede arne_v Ekspert
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.
Avatar billede Daniel.E Praktikant
29. august 2004 - 14:38 #8
det var også det som jeg mente..bare med flere pointere af gangen
Avatar billede wisen Nybegynder
30. august 2004 - 08:18 #9
.. en anden meget go' måde at undgå memoryleaks på er at benytte smartpointere
Avatar billede Daniel.E Praktikant
31. august 2004 - 18:34 #10
smartpointere ??
Avatar billede arne_v Ekspert
31. august 2004 - 19:33 #11
Avatar billede Daniel.E Praktikant
01. september 2004 - 19:30 #12
arne_v giv et svar  ;)
Avatar billede arne_v Ekspert
01. september 2004 - 19:33 #13
ok
Avatar billede Daniel.E Praktikant
01. september 2004 - 19:35 #14
smartpointers :) NICE :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester