Thema: Typecasting

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.183 Beiträge
 
Delphi 12 Athens
 
#6

AW: Typecasting

  Alt 25. Jul 2018, 10:17
Nein, da kommt immer das raus, was ich erwarte, denn Arrays sind "praktisch" IMMER packed.

Außerdem gibt {$A} nur die maximale Ausrichtung an, wobei die Typen der Array-Felder hier ALLE gleich sind, innerhalb des Array, und sich die Array-Felder somit immer an sich selber ausrichten, also direkt hintereinander.

Das trifft auch auf ein Array of TMist zu, welches in sich pecked und direkt aneinanderhängend ausgerichtet ist, auch wenn dort "natürlich" das zusätzliche Füllbyte enthalten bleibt, da es im "kompleten" Typen eingebaut ist.
Delphi-Quellcode:
// {$ALIGN} mindestens 2
type
  TMist = record
    a: Word;
    b: Byte;
    // FüllByte
  end;

  TMist = record
    a: Byte;
    // FüllByte
    b: Word;
  end;
TMist ist 4 Byte und wird somit auch an Integergrenzen ausgerichtet.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (25. Jul 2018 um 10:20 Uhr)
  Mit Zitat antworten Zitat