optimizadores cruzada compiladores compilacion compilation cross-compiling

compilation - compiladores - ¿Qué es la compilación cruzada?



compilacion cruzada linux (4)

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

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

¿Qué es la compilación cruzada?


Para "compilación cruzada" es compilar la fuente en, por ejemplo, un cuadro de Linux con la intención de ejecutarlo en un cuadro de MAC o Windows. Esto generalmente se realiza mediante un complemento de compilación cruzada, que está disponible en varios servidores web en toda la red. Si uno es instalar un complemento de compilación cruzada en su caja de Linux que está diseñado para compilar para las cajas de Windows. Luego pueden compilar para un cuadro Linux / * NIX, así como tener la opción de compilar y vincular un ejecutable listo para Windows. Esto es extremadamente conveniente para un programador independiente que no tiene acceso a más de una única caja de Linux / Windows / MAC. Tenga en cuenta que varios complementos de compilación cruzada permitirán multitud de aplicaciones, algunas de las cuales puede o no percibir como útiles, por lo tanto, una completa revisión del archivo README del complemento.

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


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

Por ejemplo: hello.c

  1. gcc hello.c (gcc es un compilador para la arquitectura x86).
  2. arm-cortexa8-linux-gnueabihf-gcc hello.c
    (arm -....- gcc es un compilador para la arquitectura de brazo.) Esto está compilando en la PC host para un tablero 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 compilación cruzada


Cross-compilation es el acto de compilar código para un sistema informático (a menudo conocido como destino) en un sistema diferente, denominado host.

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

Los ejemplos comunes incluyen muchos sistemas integrados, pero también consolas de juegos típicas.