LLVM ベースの Delphi コンパイラ
Delphi ツールチェーン への移動
"次世代コンパイラ" とも呼ばれる、Delphi コンパイラの最新の分派は、コンパイラ フロントエンドのゼロからの実装をベースにしており、コンパイラ バックエンドとしての LLVM に関連付けられています。
LLVM ベースの Delphi コンパイラは、DCCIOSARM (32 ビット iOS)、DCCIOSARM64 (64 ビット iOS)、DCCAARM (Android)、DCCAARM64 (64 ビット Android)、DCCLINUX64 (Linux) があります。
メモ: DCCLINUX64 は、0 始まりの文字列 (NEXTGEN) の変わりに、デフォルトで 1 始まりの文字列を使用します。これは DCC64 との互換性を確実なものとするためです。 これは、
{$ZEROBASEDSTRINGS ON/OFF}
で変更することができます。LLVM ベースの Delphi コンパイラの新しい言語機能
LLVM ベースの Delphi コンパイラには、Delphi 言語の重要な新機能がいくつか導入されています。
LLVM ベースの Delphi コンパイラとその他の Delphi コンパイラの言語面での主要な違いは次のとおりです。
- LLVM ベースの Delphi コンパイラでは、クラスの自動参照カウント(ARC)をサポートしています。
メモ: すべての Delphi コンパイラ(LLVM ベースおよび非 LLVM ベース)では、インターフェイスと動的配列の ARC をサポートしています。
- LLVM ベースの Delphi コンパイラでは、文字列はインデックスが(1 ではなく)0 から始まるほか、不変(一定)です。
- LLVM ベースの Delphi コンパイラでは、次の文字列型はサポートされていません(デフォルトの文字列型である UnicodeString はサポートされています)。
- WideString
- AnsiString および ShortString
- AnsiChar
- PAnsiChar および PWideChar
- OpenString
LLVM ベースの Delphi コンパイラに対応するコードの作成の詳細については、「デスクトップ アプリケーションからモバイル アプリケーションへの Delphi コードの移行」を参照してください。