![]() |
Delphi-Version: 12 Athens
Boolean-Results jetzt initialisiert?
Mir war so, als wenn ich mehrmals gelesen hatte, dass Boolean-Result jetzt immer mit False initialisiert seien.
Für Win32 ist es definitiv nicht der Fall, aber kann sein, dass es nur Win64 betraf. Unter Win64 scheint das auch wirklich der Fall zu sein.
Delphi-Quellcode:
Aber ich erkenne hier nicht, dass irgendwo BYTE[rbp+$0f] mit 0 initialisiert wird.
function Test: Boolean;
begin end; procedure TForm1.FormCreate(Sender: TObject); begin if Test then Beep; end;
Delphi-Quellcode:
In Win32 steckt auch der 1Byte-Boolean auch immer nur im AL,
Unit1.pas.26: begin
00000000008E77C0 55 push rbp 00000000008E77C1 4883EC10 sub rsp,$10 00000000008E77C5 488BEC mov rbp,rsp Unit1.pas.27: end; 00000000008E77C8 480FB6450F movzx rax,byte ptr [rbp+$0f] 00000000008E77CD 488D6510 lea rsp,[rbp+$10] 00000000008E77D1 5D pop rbp 00000000008E77D2 C3 ret während dieses Byte im Win64 auf das komplette RAX erweitert wird und "zufällig" bisher überall 0 bzw. False ergab, wenn es vergessen wurde zu setzen. Sowohl in Win32 und Win64 meckert aber der Compiler immernoch rum. Zitat:
|
AW: Boolean-Results jetzt initialisiert?
Ich habe bisher nicht gelesen, dass sich da etwas geändert hätte.
|
AW: Boolean-Results jetzt initialisiert?
War schon in D11 oder gar 10, wo ich glaube es gelesen zu haben, entweder hier oder/und im Jira. :gruebel:
|
AW: Boolean-Results jetzt initialisiert?
Ich kann mich auch an nichts dergleichen erinnern, und ich wäre auch stark erstaunt, wenn man an so fundamentalen Bestandteilen der Sprache plötzlich etwas ändern sollte.
|
AW: Boolean-Results jetzt initialisiert?
Ich würde auch nicht den Sinn darin verstehen warum man das nur für Boolean einbauen sollte.
|
AW: Boolean-Results jetzt initialisiert?
Drum wollte ich nochmal fragen.
Find's nicht mehr. Ich glaub irgendwo war wem dieses Verhalten aufgefallen und dann dann hatten mehrere es bestätigt, oder irgendwie so. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz