In Delphi ist standardmäßig der Compilerschalter $O+ zur Code-Optimierung gesetzt. Dieser schießt aber scheinbar gelegentlich übers Ziel hinaus. Anbei ein kleines Programm, mit dem ein Fall aufgezeigt wird, bei dem $O+ entgegen der Aussage in der Delphi-Hilfe zu einem Fehlverhalten führt.
Die Delphi-Hilfe schreibt zur Code-Optimierung Folgendes:
Zitat:
Außer in bestimmten Testsituationen sollte die Code-Optimierung immer aktiviert sein. Die Optimierungen des Delphi-Compilers führen zu keinerlei Änderungen der Funktionsweise des Programms. Der Compiler führt keine "unsicheren" Optimierungen durch, die die Aufmerksamkeit des Programmierers auf die Probe stellen.
Tests und Kommentare jederzeit willkommen.
// EDIT:
Eine aktuellere Version des Codes findet Ihr weiter unten in Beitrag #7
Gruß, Daddy