Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Speicherausrichtung (Align) berechnen

  Alt 24. Nov 2009, 18:27
Also zumindestens weiß ich jetzt, daß ich die untergeordneten Arrays/Records zuerst berechnen muß
und dann scheint es so, als wenn je nach Aufbau dieses untergeordnete Array anders im übergeordneten plaziert wird.

Delphi-Quellcode:
{$align 4}

1: record
  a: Byte;
  {3x Byte align}
  b: LongWord;
end;

2: record
  a: Byte;
  {kein align}
  b: array[0..3] of Byte;
end;

3: record
  a: Byte;
  {nun ratet mal}
  b: trec;
end;

trec: record
  case byte of
    0: (c: LongWord);
    1: (d: array[0..3] of Byte);
end;
Zitat:
Problem ist auch dass z.B. die Daten verschachtelt sein können
Joar, deswegen ist in der Struktur auch für jeden Bereich/Record eine eigene Align-Definition vorgesen (von 1=packed über 2, 4 bis 8)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat