新しいシリコンコンパイラの登場です

Deeplからの自動翻訳

以前のブログ記事で、新しいSiliconコンパイラを既にご紹介しました。この新しいコンパイラは、Siliconネイティブアプリケーションをビルドするために使用され、プロジェクトモードでのみ使用できます。

Intelネイティブアプリケーション(WindowsとMac)は、引き続きクラシックコンパイラを使用します。
このコンパイラがどのように動作するのか、詳しく見ていきましょう。

4D Siliconコンパイラは特別です: 2ステップのコンパイラです。

まず、4DのコードをC++のソースファイルに変換します。そして、Mac上で最先端のオープンソースコンパイラであるClangを使ってC++コードをコンパイルします。
この方法には、多くの利点があります。
– 最適化される。出来上がったアプリケーションは、最高の最適化を使ってコンパイルされ、純粋なC++コードと同じくらい速くなります。
– アップトゥデイ:Appleはプロセッサの情報をほとんど提供しないので、シリコンネイティブのアプリケーションを作るには、Appleのコンパイラを使わなければなりません。この制限はまた、新しいプロセッサごとにClangの新しいバージョンが来るので、利点でもあります。このため、アプリケーションは最新の改良の恩恵を受け、新世代のシリコンマシンとの互換性を保つことができます。

何が変わったか?

この新しいアプローチには、いくつかの変更点があります。

まず、SiliconプロセッサとIntelプロセッサのどちらか一方にコンパイルするオプションが追加されました。アプリケーション設定のコンパイラ・タブに、コンパイル・ターゲットという新しいパラメータがあります。

Compiler Settings

このパラメータは、お使いのプロセッサ(Silicon Mac では Silicon、それ以外では Intel)またはすべてのプロセッサ(Silicon および Intel)に設定することができます。余談ですが、Silicon用のコンパイルはどのMac(Intel、Silicon)でもできますが、Windowsマシンではできません。

blank

Silicon用にコンパイルするには、Clangが必要です。Silicon用にコンパイルするには、Clangが必要です。Clangは、最新版のXCodeに付属しています。もし、持っていない場合は、4DがAppStoreでXCodeをインストールするように案内します。

インクリメンタルコンパイル

Siliconコンパイラはインクリメンタル・コンパイルを採用しています。つまり、最初にアプリケーションをコンパイルするとき、あるいはコンパイルしたコードをクリアした直後は、4Dがすべてをコンパイルするので、コンパイル時間が大幅に長くなります。しかし、その後のコンパイルは、あなたが変更したファイルのみをコンパイルするので、通常とほぼ同じ速度で完了します。
コンパイルが終わると、パッケージフォルダの中にLibrariesという新しいディレクトリができます。この中には、システムライブラリlib4d-arm64.dylibがあり、アプリケーションをコンパイルしたコードが入っています。

これで完了です。コンパイル済みのモードで再起動すれば、Silicon上であなたのアプリケーションをネイティブに使用することができます。

もし、コメントや質問があれば、4Dフォーラムで私たちに質問してください。

コンパイルおめでとうございます。

Nicolas Brachfogel
- プロダクトオーナー & シニアデベロッパー - Nicolas Brachfogelは、2017年にシニアデベロッパーとして4Dに入社しました(4D Serverとネットワークを担当)。Apple Siliconのリリースを管理するプロダクトオーナーとして、ユーザーストーリーを書いて機能仕様に落とし込み、機能実装が顧客のニーズを満たしているかを確認する役割を担っています。Institut Supérieur d'Informatique Appliquée (INSIA) を卒業した Nicolas は、2001年にソフトウェア開発者としてのキャリアをスタートさせました。JavaとC++で数年間コーディングした後、ゲーム会社のクライアント・サーバー開発を専門に担当。サーバー開発者/アーキテクトとして、多くのゲーム(Dofus Arena、Drakerz、Trivial Pursuit Go!)のサーバーアーキテクチャに携わり、成功を収めてきました。