Yukon Beta Blog von David Millington am 26. Oktober 2023
Dieser Blogbeitrag basiert auf einer Vorabversion der RAD Studio-Software und wurde mit ausdrücklicher Genehmigung von Embarcadero verfasst. Keine Funktion wird vor der Freigabe des Produkts GA veröffentlicht.
Neues Clang
Der C++-Compiler ist die Grundlage von RAD Studio. Durch die Arbeit an Clang & LLVM machen wir LLVM für Delphi verfügbar. Und natürlich brauchen wir einen modernen, leistungsstarken C++-Compiler, um unseren C++-Entwicklern die beste Quellkompatibilität, Bibliotheken, App-Leistung und vieles mehr zu bieten.
Unsere Ziele für diese Arbeit sind:
- Sehr hohe Qualität. Eine robuste STL. Ein Linker, der alles und jede Menge verarbeiten kann, die Sie ihm geben.
- Hervorragende Qualität in allen Bereichen, z.B. bei der Behandlung von Ausnahmen
- Ausgezeichnete Kompatibilität mit Sprachstandards.
- Hohe Leistung für den kompilierten Code. Optimierte Laufzeiten.
- Plattformstandards so weit wie möglich anpassen
Wie können wir diese erfüllen? Lassen Sie uns in umgekehrter Reihenfolge vorgehen.
Plattform-Standards
Die neue Toolchain basiert auf Clang 15*. Die vorherige Toolchain verwendete das ELF-Objektdateiformat, ein primäres Unix/Linux-Format, aus historischen Gründen, die eigentlich (lange Geschichte) mit Kylix zu tun haben. Für diese Toolchain wechseln wir zu COFF, dem Standard-Objektdateiformat für Windows-Compiler für jede kompilierte Sprache. Ebenso verwenden wir das PDB-Debug-Format, das ebenfalls als Standard gilt. Wir unterstützen zwar offiziell keine Tools von Drittanbietern, aber es gibt viele Tools, die Entwickler verwenden und die COFF und PDB verstehen. Wir hoffen, dass wir durch die Einhaltung der Plattformnormen die Möglichkeit eröffnen, eine Vielzahl von Tools mit Ihren Anwendungen und C++Builder zu verwenden.
[*] Clang 15 war aktuell, als diese Arbeit begann, und wir vermeiden es, die Räder zu wechseln, während das Auto in Bewegung ist. Wir planen, auch in Zukunft auf dem neuesten Stand zu bleiben und mit Clang selbst voranzukommen.
Hohe Leistung für den kompilierten Code.
Während wir vor allem ein korrektes Verhalten des kompilierten Codes anstreben, geht es uns auch um eine hohe Leistung. Die Technologie der neuen Toolchain erzeugt optimierteren Code und ermöglicht in Zukunft zusätzliche Optimierungen, die bisher nicht möglich waren.
