Hallo,
ich demonstriere vielleicht wieder mein Nichtwissen, da es jeder weiß, nur ich nicht, aber mir ist gerade etwas Merkwürdiges aufgefallen.
Kompiliere ich z.B. Texte mit
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| if ... then begin ... end else begin ... end; |
und anschließend in der Form
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if ... then begin ... end else begin ... end; |
so hat die dcu-Datei eine andere Länge, oft kürzer, aber nicht immer. Konkret wurde gerade die DCU 62 Byte kürzer, als ich das else direkt hinter das end gesetzt habe und nicht in eine neue Zeile.
Das Gleiche geschieht bei for-to-do-Schleifen, aber auch wenn ich bei
Delphi-Quelltext
nur die voranstehenden Leerzeichen verändere z.B.
Delphi-Quelltext
Der gleiche Effekt tritt auf, wenn eine Leerzeile entfernt oder hinzugefügt wird.
Wie ist so etwas möglich? Theoretisch muss doch der gleiche Text übersetzt werden, d.h. auch mit dem gleichen Ergebnis.
Und weiter gedacht: Das bedeutet doch, dass der gleiche Quelltext je nach Formatierung unterschiedliche Exe-Längen ergibt.
Oder ist das nur ein Effekt, der bei D5 und D7 auftrat. Aber warum?
Ich verstehe die Logik dahinter nicht. Einmal wird die Datei größer, manchmal auch kleiner, ohne dass auch nur eine Anweisung wirklich verändert wurde.
Ich bin wieder ratlos.
Mathematiker
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein