2009-05-22 23 views

Respuesta

22

Cross-compilation es el acto de compilar el código para un sistema de computadora (a menudo conocido como el objetivo) en un sistema diferente, llamado el host.

Es una técnica muy útil, por ejemplo, cuando el sistema de destino es demasiado pequeña para albergar el compilador y todos los archivos pertinentes.

ejemplos comunes incluyen muchos sistemas embebidos, sino también a las consolas de juegos típicos.

+2

oh..o u compila el código en un sistema ... y despliega el ejecutable en otro sistema? –

+1

El enlace "obligatorio" de la wikipedia: http://en.wikipedia.org/wiki/Cross_compilation – FeatureCreep

+1

Sí. Y los sistemas tienen diferentes arquitecturas. – Stephan202

2

En un sentido estricto, es la compilación de código en un host que está destinado para funcionar en otro.

Más comúnmente se utiliza con referencia a la compilación para arquitecturas que no son compatibles con binario con el host, por ejemplo, construir binarios RISC en una plataforma de CPU CISC o binarios de 64 bits en un sistema de 32 bits. O, por ejemplo, crear un firmware destinado a ejecutarse en dispositivos integrados (quizás utilizando la arquitectura de CPU ARM) en sistemas operativos basados ​​en PC Intel.

6

Para "compilador cruzado" es compilar la fuente en decir una máquina Linux con la intención de ejecutarlo en un cuadro MAC o Windows. Esto generalmente se hace usando un plugin de compilación cruzada, que está disponible en varios servidores web en la red. Si se trata de instalar un plugin de compilación cruzada en su caja de Linux que está diseñado para compilar para cajas de Windows. Luego pueden compilar para una caja Linux/* NIX y tener la opción de compilar y vincular un ejecutable listo para Windows. Esto es extremadamente conveniente para un programador independiente que tiene acceso a no más de un solo cuadro de Linux/Windows/MAC. Tenga en cuenta que varios plugins de compilación cruzada permitirán multitud de aplicaciones, algunas de las cuales puede o no percibir como útiles, por lo tanto, una lectura exhaustiva del archivo README del complemento.

¿Tuvo un proyecto particular en mente que le gustaría aplicar el método de compilación cruzada a?

2

Un compilador cruzado compila el código fuente de una arquitectura a otra.

Por ejemplo: hello.c

  1. gcc hello.c (gcc es un compilador para la arquitectura x86.)
  2. arm-cortexa8-linux-gnueabihf-gcc hello.c
    (brazo -....- gcc es un compilador para la arquitectura ARM.) Este está compilando en la PC host para una placa objetivo (por ejemplo, rpi, beaglebone, wega board). En este ejemplo, arm-cortexa8-linux-gnueabihf-gcc se denomina 'compilador cruzado'.

Este proceso se llama compilación cruzada.
ver el enlace para más información cross compilation

Cuestiones relacionadas