Cross Compiling - Arquitetura Platform Vs

0

Alguém poderia explicar, qual é a definição precisa de compilação cruzada? Eu estou perguntando isso porque.

  • Quando um programa é compilado em uma plataforma diferente (sistema operacional) diferente da plataforma host na qual o código é compilado, muitos se referem a isso como compilação cruzada.

Exemplo: Compilando para Linux arme no Windows.

  • Por outro lado, Se você compilar um programa na área de trabalho do Linux (arquitetura i386) para ser executado no braço do Linux (arquitetura ARM). Esse processo pode ser chamado de compilação cruzada?

Obrigado.

    
por Vijay Rajanna 20.06.2014 / 17:49

1 resposta

3

O termo plataforma inclui todos os detalhes relativos ao computador no qual o programa é compilado e / ou executado. Isso significa coisas como:

  • CPU: conjunto de instruções (x86, x86_64, ARM), endianess (big endian, little endian)
  • compilador: idioma (por exemplo, C90, C99, C11), fornecedor (GCC, LLVM)
  • bibliotecas, por exemplo, glibc e BSD libc, malloc e jemalloc
  • sistema operacional

Quando a plataforma na qual o programa é compilado é diferente daquela em que é executada, você está lidando com compilação cruzada. No seu caso específico, a CPU é diferente.

    
por 20.06.2014 / 18:32