Forum: Programmieren allgemein
by SirThornberry,
23. Jun 2006
in C++ gibt es das auf jeden fall (wurde ja bereits geschrieben das es da mit "pragma" geht). Ansonsten sollte es in allen Programmiersprachen "packed" geben.
Und wenn du ohne "packed" arbeitest sollte das auch für Programmiersprachen kein Problem sein die es nicht beherrschen weil man dann dort einfach den Record anders definiert.
Sieht der Record bei dir also so aus
TMyRecord = record
...
Forum: Programmieren allgemein
by SirThornberry,
22. Jun 2006
bei packed record liegen alle teile des records direkt hintereinander im speicher. lässt man das packed weg wird ausgerichtet.
Hat man zum beispiel ein byte im Record wird glaub ich (ich weiß es nicht genau) dahinter 3 Bytes platz gelassen damit es am 32-bit zugriff ausgerichtet ist und das ganze schneller ist.
Forum: Programmieren allgemein
by SirThornberry,
22. Jun 2006
Das align sollte schon beachtet werden. Es ging ja aber darum ob der Record Delphi eigen ist. Die Ausrichtung kann man später im c++ programm ja noch festlegen.
Forum: Programmieren allgemein
by SirThornberry,
22. Jun 2006
Dein Record ist Delphieigen weil ein String enthalten ist. Ansonsten sind Records nichts Delphieigenes. Records spezifizieren einfach den Aufbau von hintereinander liegenden Daten. Alles was in deinem Record ist liegt also im speicher hintereinander. Wenn du Pointer im Record hast liegt das wo der pointer hinzeigt natürlich nicht mit dabei.