Zugriffsverletzung beim Schreiben an Position...

Wenn der Prozessor den Code umstrukturiert, ist diese Umstrukturierung dann immer gleich oder kann die jedes mal anders sein.
Puh. Heutige Prozessoren haben Code path prediction (branch prediction) und code reordering. Allerdings macht der Compiler wesentlich mehr in dieser Hinsicht. Die sequentielle Konsistenz darf aber nie verletzt werden.
Sprich tritt einmal ein Fehler auf und ich will scanf testen, dann funktioniert es und eigentlich kann der Fehler aber doch da liegen und es war nur Zufall?
Der Prozessor darf das nicht, nein. Es kann vorkommen, wenn du undefined behaviour im Code hast. Aber dann ist der Code fehlerhaft und erlaubt dem Compiler/Prozessor mehr, als du eigentlich wolltest.
Die Implikation geht so: WENN dein Code korrekt ist, DANN läuft dein Programm korrekt.
Dein Programm KANN korrekt laufen, auch wenn der Code inkorrekt ist, MUSS aber NICHT.
WENN das Programm läuft, heisst das aber NICHT, dass der Code korrekt ist (er kann, muss aber nicht).

Gruss
cwriter
 
Zurück