![]() |
Re: b <> 0
Zitat:
|
Re: b <> 0
Der Compiler weiss doch gar nicht, welche Werte die Variablen zur Laufzeit haben
|
Re: b <> 0
Ich meine doch, dass er aus
Delphi-Quellcode:
beim compilieren
if not b=0 then
Delphi-Quellcode:
macht.
if not IsZero(b) then
Eine ähnliche Diskussion habe ich hier neulich zum Thema
Delphi-Quellcode:
gelesen.
i:=i+1;
{bzw.} Inc(i); |
Re: b <> 0
Automatisch geht es nur andersrum: Durch Compliermagic wird aus
Delphi-Quellcode:
Inc(i);
Delphi-Quellcode:
i := i +1;
|
Re: b <> 0
nein, macht er nicht
i = 0 prüft, ob i genau dem Wert 0 entpsricht (halt "="), wärend IsZero eine nette Funktion ist, welche prüft ob i etwa/fast 0 entspricht. |
Re: b <> 0
Zitat:
|
Re: b <> 0
ich dachte eher der Compiler macht aus "i := i +1;" ein inc(i) :angel:
|
Re: b <> 0
Inc() ist eine Prozedur und diese wird wegrationalisiert.
Delphi-Quellcode:
wird natürlich als Inkrement implementiert
i := i + 1;
|
Re: b <> 0
die Prozedur INC gibt es nicht ... it's Compilermagic ... such die mal in deiner System.pas :zwinker:
wird beidest zu ASM-InlineCode "INC &var" aber von welchen Typ ist den nun das "b"? |
Re: b <> 0
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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