Jeg har fået stillet en opgave som omhandler håndtering af hukommelsen, og har i den forbindelse brug for at vide følgende.
Efter et kald som fx kunne se således ud:
void* palloc = malloc(64);
Hvordan frigiver jeg så den allokerede hukommelse? Jeg har prøvet med:
free(palloc)
Men det virker ikke (hvilket jeg egentlig heller ikke havde regnet med, da void pointeren ikke siger noget som størrelsen af den struktur den peger på, men det viser da min intention :)).
free(palloc) frigiver palloc, og fortæller memory manageren at den kan allokere den hukommelse som palloc peger på igen.
Du skal dog være opmærksom på, at free(palloc) ikke nulstiller hverken palloc eller hukommelsen palloc peger på, så det kan faktisk godt virke som om, du kan blive ved med at bruge palloc som normalt efter at den er blevet frigivet.
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.
Det er blevet kaldt ”det største it-nedbrud i historien” og omkostningerne kan nemt løbe op i syv milliarder kroner: Men hvem skal betale for Crowdstrikes fejl?