Hello,
Sicher, nur ist es aber so, dass praktisch alle Programme, die in Sprachen mit unsicheren Pointern geschrieben sind, irgend welche Bufferoverflows haben.
Du meinst damit also vermutlich, dass durch Unachtsamkeit des Programmierers oder durch Faulheit der zulässige zugewiesene Speicherbereich für einen Datenwert (oder auch mehrere) überschritten wird?
Die Kontrollen sollte also daher lieber die Entwicklungsumgebung automatisch einbauen?
Dafür hatte selbst das frühe Turbo-Pascal von Broeland schon Methoden. Das nannte sich Bereichsüberprüfung oder Range Check mit der Compilereinstellung $R
Und wenn man verstehen wollte, was da passiert, dann hat man sich eben mal den Assemblercode angeschaut, den der Compiler erzeugt hat. Die Überprüfung war sehr effektiv, hat aber den Code auf den langsamen Maschinen von damals ziemlich ausgebremst.
Diese "super Errungenschaften" sind meistens, wenn man mal hinter die Kulissen schaut, ziemlich bodenständig gestrickt.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau