qual é a diferença entre compilação cruzada e compilação nativa

4

Qual é a diferença exata entre compilação cruzada e compilação nativa?

    
por Renjith G 07.02.2011 / 13:18

3 respostas

6

Você usa um compilador cruzado para produzir executáveis (ou objetos) para uma plataforma diferente do host local. O compilador nativo só produz binários nativos.

    
por 07.02.2011 / 14:28
1

A compilação cruzada está compilando algo para um tipo de CPU diferente daquele em que você está executando. Um exemplo é a compilação de binários do ARM sob um sistema i386 ou a compilação de executáveis de 64 bits em um sistema de 32 bits.

Normalmente, você não poderá executar o que acabou de compilar ao compilar, até enviar os binários para o sistema ao qual eles pertencem.

A compilação nativa é quando você compila para a mesma arquitetura em que você está executando, que é a situação normal.

    
por 07.02.2011 / 17:45
0

A compilação cruzada está criando uma plataforma (basicamente, uma combinação de sistema operacional, família de CPU e ABI) diferente daquela em que você está executando. Isso significa ter um compilador que seja executado em uma plataforma, mas tenha como alvo outra plataforma. Geralmente (há exceções a isso porque algumas plataformas têm camadas de compatibilidade) significa que você não pode simplesmente executar os binários que acabou de criar.

O compilador em si não é geralmente o grande problema na construção cruzada, o resto do sistema de construção é. O sistema de compilação precisa executar o compilador correto com as opções corretas. Muitos sistemas de compilação constroem e executam programas de teste para descobrir os detalhes do sistema em que estão sendo executados. Você não pode geralmente fazer isso se você está cruzando a construção. Muitos sistemas de construção usam programas que eles construíram para gerar coisas durante a construção, isso pode significar que seu sistema de construção precisa construir algumas coisas para a plataforma que você está construindo, algumas coisas para a plataforma que você está construindo e potencialmente algumas coisas para ambos.

    
por 25.05.2016 / 13:53