Új hozzászólás Aktív témák

  • ddekany

    veterán

    válasz Phvhun #26 üzenetére

    A C/C++ nyelv nagyban épít arra, hogy a CPU számára a memória címek csupán számok (pointer aritmetika, stb)... ezért lehetetlen minden lehetséges balesetre automatikus ellenőrzést írni, a tömb túlindexelés is csak bizonyos esetekben detektálható. A Java ill. C# viszont olyan nyelvek, amik eleve úgy lettek tervezve, hogy ilyen, mint memória cím (meg kontrollálatlan kasztolás) nincs. Sőt, a gépi kód amire lefordulnak (ami nem x86, hanem Java bytecode ill. CIL) sem címekben gondolkodik. Persze ettől még ezek sem sérthetetlenek, mert pl. lehet hiba a ezeket futtató C/C++-ben írt virtuális gép megvalósításában (bár ez azért valószínűleg hamar kiderül és javítva lesz), ill. azokban a modulokban amiket hívhatsz a programodból de még nem írtak át ilyen biztonságos nyelvekre... Aztán persze, a memória telibehányása (ami pl. Java és C#-ben nincs) csak egy a betörési módszerek közül, bár kétségtelenül messze a legnépszerűbb.

Új hozzászólás Aktív témák