Já vos apresentámos o nosso novo compilador de silício num post de blog anterior. Este novo compilador será utilizado para construir aplicações nativas de Silício e estará disponível apenas em modo de projecto.
As aplicações nativas Intel (em Windows e Mac) continuarão a utilizar o compilador clássico.
Vamos aprofundar e ver exactamente como funciona.
O compilador de Silício 4D é especial: é um compilador de 2 passos.
Primeiro, ele traduz o código 4D em ficheiros-fonte C++. E depois compila o código C++ usando Clang, um compilador de código aberto de última geração em Mac.
Esta abordagem tem muitas vantagens:
– Optimizado: A aplicação resultante é compilada utilizando as melhores optimizações, tão rápido como o código C++ puro.
– Actualizado: A Apple fornece apenas informação escassa sobre os seus processadores, pelo que temos de utilizar os seus compiladores para obter aplicações nativas de Silício. Esta limitação é também uma vantagem, já que com cada novo processador virá uma nova versão de Clang. Como tal, as suas aplicações beneficiarão das mais recentes melhorias e permanecerão compatíveis com qualquer nova geração de máquinas de Silício.
O que é que mudou?
Esta nova abordagem vem com algumas alterações.
Primeiro, tem agora a opção de compilar para processadores de Silício e/ou Intel. No separador Compilador das definições da aplicação, há um novo parâmetro chamado Compilation Target.
Pode defini-lo para o seu processador (Silicon no Silicon Mac, Intel de outra forma) ou para todos os processadores (Silicon e Intel). Como nota lateral, pode compilar para Silicon em qualquer Mac (Intel ou Silicon) mas não numa máquina Windows:
Para compilar para Silicon, precisará de Clang. O Clang vem com a última versão do XCode. Se não a tiver, 4D irá guiá-lo até à AppStore para instalar o XCode.
Compilação incremental
O compilador de Silício utiliza uma compilação incremental. Isto significa que a primeira vez que compilar uma aplicação, ou logo após limpar o código compilado, o tempo de compilação será significativamente maior, uma vez que o 4D compilará tudo. Mas as compilações subsequentes apenas compilarão os ficheiros alterados e, como tal, deverão ser aproximadamente tão rápidas como é habitual.
Uma vez terminada a compilação, verá um novo directório na sua pasta de pacotes chamado Bibliotecas. No interior, a biblioteca do sistema lib4d-arm64.dylib conterá o código compilado da sua aplicação.
É isso mesmo. Basta reiniciar em modo compilado e pode usar a sua aplicação nativamente em Silicon.
Se tiver comentários ou perguntas, venha perguntar-nos no fórum 4D.
Feliz compilação!