Forum: Object-Pascal / Delphi-Language
Delphi
by Apollonius,
20. Mär 2008
Es gibt sogar einen Compiler-Schalter, sodass man typisierte Konstanten ohne solche Tricks verändern kann. Damit kann man statische lokale Variablen, wie man sie aus C kennt, nachbilden.
Zu erwähnen ist noch, dass Konstanten in jedem Fall in die Exe-Section von typisierten Konstanten und initialisierten Variablen geschrieben werden, wenn sie in FPU-Operationen verwendet werden. Das gilt...
Forum: Object-Pascal / Delphi-Language
Delphi
by Apollonius,
20. Mär 2008
Das siehst du ziemlich leicht: Lass dir mal die Adressen der Konstanten ausgeben. Wenn du Assembler kannst, solltest du dir auch mal den generierten Code für eine einfache Operation anschauen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Apollonius,
20. Mär 2008
Ich würde nicht sagen, dass es nicht "die reine Lehre" ist. Schließlich gibt es die Möglichkeit, Konstanten in einer eigenen Exe-Section der Exe-Section, in der sich auch initialisierte Variablen befinden, anzulegen, indem man den Typen angibt, dann kann man davon auch die Adresse nehmen. Das ist wie in C++: Da gibt es zum einen untypisierte #define-Konstanten und zum anderen typisierte...
Forum: Object-Pascal / Delphi-Language
Delphi
by Apollonius,
20. Mär 2008
:roll: Ich meine, dass Var := Var + DOT_RADIUS genauso kompiliert wird wie Var := Var + 6 und nicht etwa so, als ob DOT_RADIUS eine Variable wäre. Anders sieht es natürlich aus, wenn der Typ angegeben wird.
Forum: Object-Pascal / Delphi-Language
Delphi
by Apollonius,
20. Mär 2008
Diese Konstanten haben keinen Typ. Sie werden nicht in der Exe gespeichert, sondern am Ort der Verwendung eingefügt, der Datentyp wird dabei automatisch ergänzt. Was mich zur Frage bringt: Wozu willst du das wissen?