Aí vem o novo compilador de silício!

Tradução automática de Deepl

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.

Compiler Settings

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:

blank

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!

Nicolas Brachfogel
• Proprietário do produto e Desenvolvedor Senior -Nicolas Brachfogel entrou a 4D em 2017 como Senior Developer (4D Server e Networking). Como Product Owner para gerenciar o lançamento de Apple Silicon, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais, além de garantir que as implementações de funcionalidade cumpram com as necessidades do cliente. Diplomado pelo Instituto Superior de Informática Aplicada (INSIA), Nicolas começou sua carreira como desenvolvedor de software em 2001. Depois de vários anos codificando em Java e C++, passou a especializar-se no desenvolvimento cliente-servidor para empresas de videogames. Como desenvolvedor/arquiteto de servidores, trabalhou com sucesso nas arquiteturas de servidores de muitos jogos (Dofus Arena, Drakerz, Trivial Pursuit Go!)