LLVM ベースの Delphi コンパイラ
Delphi ツールチェーン への移動
"次世代コンパイラ" とも呼ばれる、Delphi コンパイラの最新の分派は、コンパイラ フロントエンドのゼロからの実装をベースにしており、コンパイラ バックエンドとしての LLVM に関連付けられています。
LLVM ベース Delphi コンパイラは、DCCIOSARM(32 ビット iOS)、DCCIOSARM64(64 ビット iOS)、DCCAARM(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 コンパイラでは、ポインタの使用はサポートされていません。
LLVM ベースの Delphi コンパイラに対応するコードの作成の詳細については、「デスクトップ アプリケーションからモバイル アプリケーションへの Delphi コードの移行」を参照してください。