Nous vous avons déjà présenté notre nouveau compilateur Silicon dans un précédent billet de blog. Ce nouveau compilateur sera utilisé pour construire des applications natives Silicon et sera disponible uniquement en mode projet.
Les applications natives Intel (sur Windows et Mac) continueront à utiliser le compilateur classique.
Creusons un peu plus et voyons comment il fonctionne exactement.
Le compilateur Silicon 4D est spécial : c’est un compilateur en 2 étapes.
Tout d’abord, il traduit le code 4D en fichiers sources C++. Ensuite, il compile le code C++ à l’aide de Clang, un compilateur open-source de pointe sur Mac.
Cette approche présente de nombreux avantages :
– Optimisée : L’application résultante est compilée en utilisant les meilleures optimisations, aussi rapidement que du code C++ pur.
– A jour : Apple ne donne que peu d’informations sur ses processeurs, nous devons donc utiliser leurs compilateurs pour obtenir des applications Silicon natives. Cette limitation est aussi un avantage, car à chaque nouveau processeur correspond une nouvelle version de Clang. Ainsi, vos applications bénéficieront des dernières améliorations et resteront compatibles avec toute nouvelle génération de machines Silicon.
Qu’est-ce qui a changé ?
Cette nouvelle approche s’accompagne de quelques changements.
Tout d’abord, vous avez maintenant la possibilité de compiler pour les processeurs Silicon et/ou Intel. Dans l’onglet Compilateur des paramètres de l’application, il y a un nouveau paramètre appelé Cible de compilation.
Vous pouvez le définir sur votre processeur (Silicon sur Silicon Mac, Intel sinon) ou sur tous les processeurs (Silicon et Intel). À titre d’information, vous pouvez compiler pour Silicon sur n’importe quel Mac (Intel ou Silicon) mais pas sur une machine Windows :
Pour compiler pour Silicon, vous aurez besoin de Clang. Clang est fourni avec la dernière version de XCode. Si vous ne l’avez pas, 4D vous guidera vers l’AppStore pour installer XCode.
Compilation incrémentale
Le compilateur Silicon utilise la compilation incrémentale. Cela signifie que la première fois que vous compilez une application, ou juste après avoir effacé le code compilé, le temps de compilation sera sensiblement plus long car 4D compilera tout. Mais les compilations suivantes ne compileront que les fichiers que vous avez modifiés et devraient donc être à peu près aussi rapides que d’habitude.
Une fois la compilation terminée, vous verrez un nouveau répertoire dans votre dossier de paquetage appelé Libraries. À l’intérieur, la bibliothèque système lib4d-arm64.dylib contiendra le code compilé de votre application.
C’est tout. Il suffit de redémarrer en mode compilé et vous pouvez utiliser votre application en mode natif sur Silicon.
Si vous avez des commentaires ou des questions, venez nous les poser sur le forum 4D.
Bonne compilation !