Pergunta

O que é a compilação cruzada?

Foi útil?

Solução

Cross-compilação é o ato de compilar o código para um sistema de computador (muitas vezes conhecido como o alvo) em um sistema diferente, chamado de host.

É uma técnica muito útil, por exemplo, quando o sistema de destino é muito pequena para hospedar o compilador e todos os arquivos relevantes.

Os exemplos comuns incluem muitos sistemas embarcados, mas também consolas de jogos típico.

Outras dicas

Para "compilador cruzado" é compilar fonte sobre dizer uma caixa de Linux com a intenção de executá-lo em uma caixa de Mac ou Windows. Isso geralmente é feito usando um plugin compilação cruzada, que estão prontamente disponíveis a partir de vários servidores web através da rede. Se um é instalar um plugin compilação cruz para sua caixa de Linux que é projetado para compilar para caixas do Windows. Em seguida, eles podem compilar tanto para uma caixa de Linux / * NIX, bem como ter a opção de compilar e vincular um executável do Windows-pronto. Isto é extremamente conveniente para um programador freelance quem tem acesso a nada mais do que uma única caixa de Linux / Windows / MAC. Note-se que vários plugins de compilação cruzada permitirá multidões de aplicações, algumas das quais você pode ou não percebem como útil, portanto, uma leitura completa do arquivo README do plugin.

Você tem um projeto específico em mente que você gostaria de aplicar o método de compilação cruzada para?

A cross-compilador é compila o código-fonte de uma arquitetura para outra arquitetura.

Por exemplo: hello.c

  1. gcc hello.c (gcc é um compilador para a arquitetura x86.)
  2. arm-cortexa8-linux-gnueabihf-gcc hello.c
    (Braço -....- gcc é um compilador para a arquitetura ARM.) Isto que você está compilando no PC host para uma placa-alvo (por exemplo RPI, beaglebone, placa wega). Neste exemplo arm-cortexa8-linux-gnueabihf-gcc é chamado de 'compilador cruzado'.

Este processo é chamado de compilação cruzada.
veja o link para mais informações atravessar compilação

Em sentido estrito, é a compilação de código em um host que se destina a ser executado em outro.

O mais geralmente é usado com referência a compilação para arquiteturas que não são binários compatíveis com o hospedeiro - por exemplo, a construção de binários RISC em uma plataforma CISC CPU, ou binários de 64 bits em um sistema de 32 bits. Ou, por exemplo, firmware edifício destinado para rodar em dispositivos embarcados (talvez usando a arquitetura ARM CPU) em sistemas operacionais baseados em PC Intel.

A Cross Compiler é um compilador capaz de criar código executável para uma plataforma diferente daquele em que o compilador está em execução.
Por exemplo um compilador que é executado em um Windows 7 PC, mas gera código que é executado em smartphones Android é um compilador cruzado.

Um compilador cruzado é necessário compilar para múltiplas plataformas de uma máquina.
A plataforma pode ser impraticável para um compilador de correr, tal como para o microcontrolador de um sistema embarcado, porque esses sistemas contêm nenhum sistema operativo.
Na paravirtualização uma máquina corre muitos sistemas operacionais, e um compilador cruzado poderia gerar um executável para cada um deles de uma fonte principal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top