Ero sivun ”Muistivuoto” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
→‎Yksinkertainen C-kielinen esimerkki: char on yhden tavun kokoinen, niin se että kerrotaan yhdellä tavulla 50 on turhaa
lähteetön
Rivi 1:
{{Lähteetön}}
'''Muistivuoto''' on tyypillinen [[ohjelmointivirhe]], jossa [[tietokoneohjelma]] ei vapauta varaamaansa [[dynaaminen muistinvaraus|muistia]] kun sitä ei enää tarvita. Kun muistivuotoa sisältävää ohjelman osaa suoritetaan riittävän monta kertaa, voi vapaa muisti loppua, mikä aiheuttaa ohjelmiston kaatumisen. Joissakin ohjelmointikielissä, kuten [[Java]]ssa, on automaattinen roskienkerääjä, joka pyrkii vapauttamaan ohjelmiston varaamia resursseja ohjelman uusiokäyttöön. Tällaista automaattista roskienkerääjää ei ole kuitenkaan esimerkiksi [[C (ohjelmointikieli)|C]]:ssä ja [[C++]]:ssa. Se voidaan toteuttaa olemassa olevilla kirjastoilla tai toteuttaa itse ohjelman päättyessä kirjoittamalla kaikkien muuttujien päälle nollia. Muistin yli- ja alivuototilanteet on myös hyvä ottaa huomioon.