Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Bug bei {$ALIGN} in Delphi 7?

  Alt 19. Jun 2005, 21:01
Bei A8 werden 64Bit große Datentypen auf 8 Byte ausgerichtet. Zwei 32Bit Datentypen passen nämlich in 8 Byte rein.

Wenn man z.B einen Record mit einem Byte gefolgt von einem Int64 hat, dann werden 7 Bytes eingefügt, damit der Int64 auch an 8 Byte ausgerichtet ist. Hat man hingegen statt dem In64 einen Int32, dann kann dieser, seiner Größe entsprechend, an eine 4 Byte Grenze ausgerichtet werden. Einen Geschwindigkeitsvorteil bei einer 8 Byte Ausrichtung des Int32 erlangt man nämlich nicht, weil es vollkommen egal ist, ob nun die 4 Bytes davor oder die 4 Bytes danach als überflüssige Lese/Schreib-Zugriff benötigt werden.
  Mit Zitat antworten Zitat