Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.896 Beiträge
 
Delphi 12 Athens
 
#16

AW: records oder klassen?

  Alt 23. Mai 2016, 18:00
http://docwiki.embarcadero.com/RADSt...blaufsteuerung

http://docwiki.embarcadero.com/RADSt...r_%28Delphi%29

Zitat:
Mengen, Records und statische Arrays aus einem, zwei oder vier Byte werden als 8-Bit-, 16-Bit- und 32-Bit-Werte übergeben. Größere Mengentypen, Records und statische Arrays werden als 32-Bit-Zeiger auf den Wert übergeben. Eine Ausnahme von dieser Regel ist, dass bei den Konventionen cdecl, stdcall und safecall die Records immer direkt im Stack übergeben werden. Die Größe eines auf diese Weise übergebenen Records wird immer bis zur nächsten Double-Word-Grenze erweitert.
Und ich gehe davon aus das lokale Records eben im immer Stack erzeugt werden (müsste man mal Testen wenn man viel Zeit übrig hat).
Deshalb wäre das nur für kleine Größen sinnvoll um einen Stacküberlauf zu vermeiden.

Stacküberlauf: Stammt das icht aus DOS-Zeiten, sowas habe ich schon eeewig nicht mehr gehabt (Klopf auf Holz).

Aber Segmentgrenzen-Fehler 16MB habe ich schon mehrfach gehabt, auf iOS ...
Es könnte ja sein das diese alten, vergessenen Probleme auf den mobilen Plattformen ein zweites Zombie-Dasein führen.

Rollo
  Mit Zitat antworten Zitat