AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Delphi-Eigentümer hat neuen Besitzer?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Eigentümer hat neuen Besitzer?

Ein Thema von ThomasBab · begonnen am 8. Okt 2015 · letzter Beitrag vom 21. Nov 2015
Antwort Antwort
Seite 13 von 14   « Erste     3111213 14      
Bambini
(Gast)

n/a Beiträge
 
#121

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 11:51
Das kann er erst wenn beide Compiler für eine Plattform funktionieren.
Wenn ich mir z.B. die Compiler Zeiten einer kleinen App anschaue und diese Zeilen pro Zeile Code auf mein großes Windows Programm hochrechne,
kann ich mir dir F9 Taste abmontieren und über nightly builds nachdenken. Ob der NextGen wirklich besseren und schnelleren Code erzeugt:
http://stackoverflow.com/questions/2...id-arm-targets

Außerdem hat ARC überhaupt nichts mit dem Compiler zu tun.
Wenn es nicht mit dem Compiler zu tun hat, wer sorgt dafür das es das gibt?
Die {$ifdef } im Code der RTL.

Welche gemeinsame Codebasis? Wenn ich unsere Apps auf MacOS bringen müsste hätte ich mit dem VCL-Ausbau viel zu tun.
Da macht es den kohl nicht mehr fett auch gleich den rest umzubauen (Stringhelper und Co.) damit der rest auch passt und man gleich auch eine Codesbasis für Android und iOS hat.
Es geht bei Linux um non-UI Parts. Ich nutze für den Server-Dienst unter Windows und Mac OSX eine gemeinsame Code Basis. Warum schert da Linux jetzt schon wieder aus. Ich sehe da keinen Mehrwert.

Zitat:
Bei den mobilen kam Huckepack z.B. ... UTF8 und AnsiString
In wieweit sind as neue Baustellen?
Der Wegfall bzw. Umbau bringt eine Reihe neuer Probleme mit sich, ohne das es etwas mit der neuen Plattform zu tun hat.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#122

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 13:38
Außerdem hat ARC überhaupt nichts mit dem Compiler zu tun.
Wenn es nicht mit dem Compiler zu tun hat, wer sorgt dafür das es das gibt?
Die {$ifdef } im Code der RTL.
Das ist ein Flag beim Kompilieren des Compiler frontends.
Und wenn damit dann die RTL gebuildet wird, ist halt AUTOREFCOUNT gesetzt oder nicht.
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (20. Nov 2015 um 13:50 Uhr)
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#123

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 14:42
Das ist ein Flag beim Kompilieren des Compiler frontends.
Und wenn damit dann die RTL gebuildet wird, ist halt AUTOREFCOUNT gesetzt oder nicht.
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.
Auch die __ObjAddRef/__ObjRelease Aurufe werden in der SYSTEM.PAS unit der RTL verwendet und gerufen.
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.
  Mit Zitat antworten Zitat
jbg

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

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 16:26
Soweit ich das gesehen und gelesen habe, ist ARC kein Compiler-Feature.
Dann zeig mal deine von Hand eingefügten ObjAddRef Aufrufe an allen Stellen wo Objektvariablen zugewiesen werden. Warum heißt "Compiler-Magic" denn "Compiler-Magic".

Zitat:
Z.B. der leicht geändert Delphi X86 Compiler erzeugt ja auch den Code für den iOS Simulator, mit ARC.
Das "leicht geändert" ist ein ifdef beim Bauen des Compilers aus seinem C-Code, welches ARC (und ein paar andere Sachen) aktiviert.


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.

Geändert von jbg (20. Nov 2015 um 16:29 Uhr)
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#125

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 16:38
Könnt Ihr mich bitte nochmal aufschlauen, was eigentlich "ARC" ist?
Danke, Christoph
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 20. Nov 2015, 16:47
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.
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#127

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 21. Nov 2015, 15:45
Bei Records gibt es ARC? Seit wann das denn?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#128

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 21. Nov 2015, 16:00
Bei Records gibt es ARC? Seit wann das denn?
Ein ARC der Wert von 0 (Record freigeben) und 1 (Record nicht freigeben) haben kann
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#129

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 21. Nov 2015, 16:09
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.

Geändert von SMO (21. Nov 2015 um 16:13 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#130

AW: Delphi-Eigentümer hat neuen Besitzer?

  Alt 21. Nov 2015, 16:19
ARC spielt hier keine Rolle, weil ein Record auf dem Stack liegt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 13 von 14   « Erste     3111213 14      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz