LLVM-basierte Delphi-Compiler

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Delphi-Toolkette


Der neueste Zweig von Delphi-Compilern, auch als "nächste Generation" bezeichnet, beruht auf einer von Grund auf neuen Implementierung eines Compiler-Frontends, das an LLVM als dem Compiler-Backend gebunden ist.

LLVM-basierte Delphi-Compiler sind DCCIOSARM (32-Bit-iOS), DCCIOSARM64 (64-Bit-iOS), DCCAARM (Android), DCCAARM64 (64-Bit-Android) und DCCLINUX64 (Linux).

Hinweis: DCCLINUX64 verwendet standardmäßig auf eins basierte anstatt nullbasierte Strings (NEXTGEN), um die Kompatibilität mit DCC64 sicherzustellen. Mit {$ZEROBASEDSTRINGS ON/OFF} können Sie dies ändern.

Neue Sprachfunktionen in LLVM-basierten Delphi-Compilern

Durch die LLVM-basierten Delphi-Compiler wurden in die Delphi-Sprache wichtige neue Funktionen eingeführt.

Die wichtigsten Sprachunterschiede zwischen den LLVM-basierten Delphi-Compilern und den anderen Delphi-Compilern sind folgende:

Hinweis: Alle Delphi-Compiler (auf LLVM basierend oder nicht) unterstützen ARC für Interfaces und dynamische Arrays.
  • Strings sind 0-basiert (anstatt 1-basiert) und werden wahrscheinlich in LLVM-basierten Delphi-Compilern unveränderlich (konstant).
  • Die folgenden String-Typen werden von den LLVM-basierten Delphi-Compilern NICHT unterstützt (aber sie unterstützen UnicodeString, den Standard-String-Typ):
    • WideString
    • AnsiString und ShortString
    • AnsiChar
    • PAnsiChar und PWideChar
    • OpenString
  • Zeiger werden von den LLVM-basierten Delphi-Compilern NICHT unterstützt.

Weitere Informationen über das Schreiben von Code für LLVM-basierte Delphi-Compiler finden Sie unter Migrieren von Delphi-Code zu mobilen Anwendungen vom Desktop aus.

Themen

Siehe auch