![]() |
AW: Delphi-Eigentümer hat neuen Besitzer?
Zitat:
kann ich mir dir F9 Taste abmontieren und über nightly builds nachdenken. Ob der NextGen wirklich besseren und schnelleren Code erzeugt: ![]() Zitat:
Zitat:
Zitat:
|
AW: Delphi-Eigentümer hat neuen Besitzer?
Zitat:
Und wenn damit dann die RTL gebuildet wird, ist halt ![]() Außerdem wird bei ARC ja noch mehr gemacht (__ObjAddRef/__ObjRelease, unterschiedliches verhalten bei .Free, ...) was nur der Compiler kann und nicht ein ifdef in der RTL. |
AW: Delphi-Eigentümer hat neuen Besitzer?
Zitat:
Soweit ich das gesehen und gelesen habe, ist ARC kein Compiler-Feature. Z.B. der leicht geändert Delphi X86 Compiler erzeugt ja auch den Code für den iOS Simulator, mit ARC. |
AW: Delphi-Eigentümer hat neuen Besitzer?
Zitat:
Zitat:
Die System-Unit ist übrigens eine ganz spezielle Unit. Sie kann auch nicht ohne einen bestimmten Compiler-Parameter kompiliert werden. Der Compiler behandelt die System-Unit speziell und nutzt deren Funktionen für die Compiler-Magic (automatisches Referenzzählen und anderes). Die Entwickler des Compilers wollten halt nicht den Code für die Compiler-Magic in Maschienensprache im Compiler als Blob ablegen und haben sich für die einfach zu wartende Variante entschieden. |
AW: Delphi-Eigentümer hat neuen Besitzer?
Könnt Ihr mich bitte nochmal aufschlauen, was eigentlich "ARC" ist?
Danke, Christoph |
AW: Delphi-Eigentümer hat neuen Besitzer?
Automatic Reference Counting.
Schonmal einen Record freigegeben? Oder ein Array? Ein Interface? Nein? Richtig, denn die funktionieren seit Urzeiten mit ARC. Wenn keine Referenz mehr auf das "Objekt" zeigt wird es freigegeben werden. Im Gegensatz zu einem Garbage Collector (wie z.B. unter Java oder .NET) ist somit sogar deterministisch wann ein Objekt freigegeben wird. Im "alten" Compiler für Windows und Mac OS haben Objekte (alles was sich von TObject) ableitet KEINE automatische Referenzzählung. Deshalb das ganze try..finally..destroy-Geraffel. |
AW: Delphi-Eigentümer hat neuen Besitzer?
Bei Records gibt es ARC? Seit wann das denn?
|
AW: Delphi-Eigentümer hat neuen Besitzer?
Zitat:
|
AW: Delphi-Eigentümer hat neuen Besitzer?
Gilt auch nur für Records, die managed types (String, dynamische Arrays, Interfaces) enthalten. Dann werden nur Felder dieses Typs per Compiler-Magic initialisiert und wieder freigegeben. Es ist also nicht wirklich ein Feature von Records an sich.
|
AW: Delphi-Eigentümer hat neuen Besitzer?
ARC spielt hier keine Rolle, weil ein Record auf dem Stack liegt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz