Thema: Typecasting

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Typecasting

  Alt 25. Jul 2018, 11: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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