Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Padding Bytes herausfinden

  Alt 20. Feb 2018, 13:50
Angenommen folgender Record:

Delphi-Quellcode:
   TMyRecord = record
      a:   Byte;
      // ( 3 Padding Bytes)
      b:   Integer;
   end;
Der Record hat SizeOf() = 8 denn zwischen a und b sind noch drei Byte Luft (zumindest unter Win32).

Kann ich gezielt herausfinden dass von diesen 8 Bytes an Position [1], [2] und [3] Padding Bytes sind?


Ziel: Ich möchte für den Unit-Test einer Hash-Funktion für Records gezielt Padding-Bytes setzen. Ich kann natürlich mit Methoden wie von TBitConverter oder FillChar(..) direkt in den Speicher schreiben, allerdings bekomme ich dann arge Probleme wenn der Record Referenztypen wie Strings oder Interfaces enthält denn dort steht dann arger Müll. Einzige Ausnahme wären Nullen, aber ich möchte die Padding-Bytes in zwei Records ja unterschiedlich haben.
  Mit Zitat antworten Zitat