Sisällysluettelo:
- Määritelmä - mitä tunkkainen osoitinvirhe tarkoittaa?
- Techopedia selittää vanhentuneen osoittimen virheen
Määritelmä - mitä tunkkainen osoitinvirhe tarkoittaa?
Vanhentunut osoitinvirhe viittaa herkkien ohjelmointivirheiden luokkaan, joita voi syntyä koodeissa, jotka suorittavat dynaamista allokaatiota, erityisesti C-kielen funktion "malloc" tai vastaavan avulla.
Vanhentunut osoitinvirhe tunnetaan myös nimellä aliasoiva virhe.
Techopedia selittää vanhentuneen osoittimen virheen
Tapauksissa, joissa erilaiset osoittimet osoittavat tietyn säilytyslokeron, voi tapahtua, että varasto vapautetaan tai jaetaan uudelleen tietyn aliaksen avulla, ja sitten siihen viitataan toisen kautta. Tämä voi johtaa arkaluonteiseen ja mahdollisesti satunnaiseen löysyyteen suhteessa allokaatiohistoriaan ja malloc-areenan tilaan.
Jos allokoidulle muistille ei luoda aliaksia, tällainen virhe voidaan helposti välttää. Toinen vaihtoehto vanhentuneiden osoitinvirheiden välttämiseksi on ylemmän tason kielen, kuten Lispin, käyttö, joka sisältää jätekeräilijän.
Termi vanhentunut osoitinvirhe liittyy tällä hetkellä C-ohjelmointiin. tämä vika esiintyi kuitenkin jo hyvin samanlaisella tavalla Fortranissa ja ALGOL 60: ssa 1960-luvulla.
