Forum: Programmieren allgemein
by Christian Seehase,
18. Jun 2005
Moin Pseudemys Nelsoni,
ich habe packed verwendet, damit der Record auf keinen Fall Lücken im Speicher hat.
Unter Umständen könnten durch Alignment Lücken entstehen, wenn der Compiler Füllbytes in den Record "einstreut", damit auch alle Felder auf einer bestimmten Grenze liegen.
Das ist aber nicht immer sinnvoll, z.B., wenn man den Record an eine Funktion übergibt, die nichts von den Lücken...
Forum: Programmieren allgemein
by Christian Seehase,
18. Jun 2005
Moin Pseudemys Nelsoni,
also wenn mich meine C(++) Kenntnisse nicht ganz trügen müsste es so aussehen:
type
PUSED_MEM = ^USED_MEM;
USED_MEM = packed record
next: PUSED_MEM;
left: Cardinal;
size: Cardinal;