Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: Warnung vor massivem Einsatz von Generics in Delphi

  Alt 18. Dez 2024, 16:16
Das Problem ist im zuvor verlinkten Issue eingehend beschrieben und sollte von Compilerentwicklern verstanden und lösbar sein. Der Compiler muss die intrinsic Functions wie GetTypeKind und ähnliche bereits dann auflösen, wenn die dcus generiert werden und nicht erst, wenn die finale Binary gebaut wird.
Das löst das Problem dann aber nur in manchen Fällen, insbesondere bei Spring4D mit Code Folding.

Wenn du aber irgendwelche generische Typen verwendest, die in nicht verbundenen Units liegen, müssen diese in der DCU enthalten bleiben, auch wenn der gleiche generische Parameter in 100 Units verwendet wird. Das kann dann erst der Linker lösen. Denn der Compiler kann ja nicht einfach in eine DCU einen Verweis auf eine fremde DCU einbauen, nur weil diese gerade mit kompiliert wird und den gleichen Typ enthält.

Rein theoretisch könnnte ich mir vorstellen, dass der Compiler die konkreten Typen in eigene DCUs auslagert, die dann von mehreren DCUs verwendet werden könnten. Die nötige Funktionalität gibt es aktuell aber nicht und da hängt dann noch einiges mehr dran, angefangen bei der Benennung dieser Dateien. Trotzdem wäre es die einzige Lösung, die mir einfällt, wie das ganze überhaupt allgemein lösbar sein könnte, sprich ohne dass der Linker das alles noch einmal komplett aussiebt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat