Arriva il nuovo compilatore Silicon!

Tradotto automaticamente da Deepl

Vi abbiamo già presentato il nostro nuovo compilatore Silicon in un precedente post sul blog. Questo nuovo compilatore verrà utilizzato per creare applicazioni native Silicon e sarà disponibile solo in modalità progetto.

Le applicazioni native Intel (su Windows e Mac) continueranno a utilizzare il compilatore classico.
Approfondiamo il discorso e vediamo come funziona esattamente.

Il compilatore 4D Silicon è speciale: è un compilatore a due fasi.

Innanzitutto, traduce il codice 4D in file sorgente C++. Quindi compila il codice C++ utilizzando Clang, un compilatore open-source all’avanguardia su Mac.
Questo approccio presenta numerosi vantaggi:
– Ottimizzato: L’applicazione risultante viene compilata utilizzando le migliori ottimizzazioni, con la stessa velocità del codice C++ puro.
– Aggiornato: Apple fornisce solo poche informazioni sui suoi processori, quindi dobbiamo usare i suoi compilatori per ottenere applicazioni native in silicio. Questa limitazione è anche un vantaggio, in quanto con ogni nuovo processore arriva una nuova versione di Clang. In questo modo, le vostre applicazioni beneficeranno degli ultimi miglioramenti e rimarranno compatibili con qualsiasi nuova generazione di macchine Silicon.

Cosa è cambiato?

Questo nuovo approccio comporta alcuni cambiamenti.

Innanzitutto, ora è possibile scegliere di compilare per i processori Silicon e/o Intel. Nella scheda Compilatore delle Impostazioni dell’applicazione, c’è un nuovo parametro chiamato Destinazione di compilazione.

Compiler Settings

È possibile impostarlo sul proprio processore (Silicon su Silicon Mac, Intel altrimenti) o su tutti i processori (Silicon e Intel). Come nota a margine, è possibile compilare per Silicon su qualsiasi Mac (Intel o Silicon), ma non su un computer Windows:

blank

Per compilare per Silicon, è necessario Clang. Clang viene fornito con l’ultima versione di XCode. Se non lo avete, 4D vi guiderà all’AppStore per installare XCode.

Compilazione incrementale

Il compilatore Silicon utilizza la compilazione incrementale. Ciò significa che la prima volta che si compila un’applicazione, o subito dopo aver cancellato il codice compilato, il tempo di compilazione sarà significativamente più lungo, poiché 4D compilerà tutto. Ma le compilazioni successive compileranno solo i file modificati e quindi dovrebbero essere più o meno veloci come al solito.
Una volta terminata la compilazione, nella cartella dei pacchetti apparirà una nuova directory chiamata Libraries. Al suo interno, la libreria di sistema lib4d-arm64.dylib conterrà il codice compilato dell’applicazione.

Ecco fatto. Basta riavviare in modalità compilata per poter utilizzare l’applicazione in modo nativo su Silicon.

Se avete commenti o domande, venite a chiedercele sul forum di 4D.

Buona compilazione!

Nicolas Brachfogel
- Proprietario del prodotto e sviluppatore senior - Nicolas Brachfogel è entrato in 4D nel 2017 come Senior Developer (4D Server e networking). In qualità di Product Owner per gestire il rilascio di Apple Silicon, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali, nonché di assicurarsi che le implementazioni delle funzionalità soddisfino le esigenze dei clienti. Diplomato all'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas ha iniziato la sua carriera come sviluppatore di software nel 2001. Dopo diversi anni di codifica in Java e C++, si è specializzato nello sviluppo di client-server per aziende di videogiochi. Come sviluppatore/architetto di server, ha lavorato con successo alle architetture server di molti giochi (Dofus Arena, Drakerz, Trivial Pursuit Go!).