Zu den packed records. Sowas würde also nicht funktionieren? Verstehe ich jetzt nicht ganz ..
Delphi-Quellcode:
type
TRec = packed record
A: Integer;
end;
..
Rec.A := 100;
Außer des Alignments (was beim ersten Element hier in dem Beispiel natürlich egal wäre), ändert das "packed" Attribut doch eigentlich nichts an der ganzen Geschichte.
So wohl nicht, aber das hier:
Delphi-Quellcode:
type
TRec = packed record
B: Byte;
A: Integer;
end;
führt dazu, daß A eher nicht auf einer der CPU genehmen Speichergrenze liegt und die damit zwei Zyklen zum Schreiben braucht. Zwischen diesen beiden Zyklen kann aber ein Lesezugriff (ebenfalls zwei Zyklen) erfolgen. Das hängt aber auch konkret von der verwendeten CPU ab.