Autor Beitrag
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mi 25.02.09 18:58 
Hi,

ich hab etz mich gewundert warum mein Code nicht funktioniert, bzw. warum die IF-Abfrage wegoptimiert wurde.
Den Code seht ihr im Anhang.
Ist schon komisch, dass nur, weil am schluss nochmal result := 0;, obwohl das vorherige exit; diese überspringen würde.
Bug im optimierer?

MfG
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 25.02.09 19:33 
Das ist kein Bug, der Quelltext sollte trotzdem korrekt funktionieren. Der Compiler nimmt glaube ich einfach Result als Schleifenvariable sozusagen. Und deshalb muss an der Stelle nix mehr passieren, diese Zeilen gibt es praktisch nicht mehr nach der Optimierung.

Schau in den Assemblercode an der Stelle (Haltepunkt aufs if und dann Strg + Shift + C), dann wirst du sehen, dass (vermute ich) in EBX gezählt wird und das Register am Ende ggf. auf 0 gesetzt wird (mit xor).

Abtippen um das zu überprüfen wollte ich den Code jetzt nicht.^^
nagel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 708

Win7, Ubuntu 10.10

BeitragVerfasst: Mi 25.02.09 20:11 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:

Abtippen um das zu überprüfen wollte ich den Code jetzt nicht.^^

OCR? :D
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 25.02.09 20:14 
user profile iconnagel hat folgendes geschrieben Zum zitierten Posting springen:
OCR? :D
Keine Lust, ich bin mir viel zu sicher, dass es so ist. ;-)
Wenns wirklich doch nicht stimmt, dann würde er es ja sagen, dann kann ichs immer noch testen. ;-)