以前のブログ記事で、新しいSiliconコンパイラを既にご紹介しました。この新しいコンパイラは、Siliconネイティブアプリケーションをビルドするために使用され、プロジェクトモードでのみ使用できます。
Intelネイティブアプリケーション(WindowsとMac)は、引き続きクラシックコンパイラを使用します。
このコンパイラがどのように動作するのか、詳しく見ていきましょう。
4D Siliconコンパイラは特別です: 2ステップのコンパイラです。
まず、4DのコードをC++のソースファイルに変換します。そして、Mac上で最先端のオープンソースコンパイラであるClangを使ってC++コードをコンパイルします。
この方法には、多くの利点があります。
– 最適化される。出来上がったアプリケーションは、最高の最適化を使ってコンパイルされ、純粋なC++コードと同じくらい速くなります。
– アップトゥデイ:Appleはプロセッサの情報をほとんど提供しないので、シリコンネイティブのアプリケーションを作るには、Appleのコンパイラを使わなければなりません。この制限はまた、新しいプロセッサごとにClangの新しいバージョンが来るので、利点でもあります。このため、アプリケーションは最新の改良の恩恵を受け、新世代のシリコンマシンとの互換性を保つことができます。
何が変わったか?
この新しいアプローチには、いくつかの変更点があります。
まず、SiliconプロセッサとIntelプロセッサのどちらか一方にコンパイルするオプションが追加されました。アプリケーション設定のコンパイラ・タブに、コンパイル・ターゲットという新しいパラメータがあります。
このパラメータは、お使いのプロセッサ(Silicon Mac では Silicon、それ以外では Intel)またはすべてのプロセッサ(Silicon および Intel)に設定することができます。余談ですが、Silicon用のコンパイルはどのMac(Intel、Silicon)でもできますが、Windowsマシンではできません。
Silicon用にコンパイルするには、Clangが必要です。Silicon用にコンパイルするには、Clangが必要です。Clangは、最新版のXCodeに付属しています。もし、持っていない場合は、4DがAppStoreでXCodeをインストールするように案内します。
インクリメンタルコンパイル
Siliconコンパイラはインクリメンタル・コンパイルを採用しています。つまり、最初にアプリケーションをコンパイルするとき、あるいはコンパイルしたコードをクリアした直後は、4Dがすべてをコンパイルするので、コンパイル時間が大幅に長くなります。しかし、その後のコンパイルは、あなたが変更したファイルのみをコンパイルするので、通常とほぼ同じ速度で完了します。
コンパイルが終わると、パッケージフォルダの中にLibrariesという新しいディレクトリができます。この中には、システムライブラリlib4d-arm64.dylibがあり、アプリケーションをコンパイルしたコードが入っています。
これで完了です。コンパイル済みのモードで再起動すれば、Silicon上であなたのアプリケーションをネイティブに使用することができます。
もし、コメントや質問があれば、4Dフォーラムで私たちに質問してください。
コンパイルおめでとうございます。