Léxico TI › Programación › Compilador cruzado

Compilador cruzado

Programación Svenska → Actualizado: 2026-11-02

Un compilador que se ejecuta en una arquitectura pero genera código para otra.

Un microcontrolador con 64 KB de flash no puede ejecutar GCC, así que el código se compila en un PC y se graba después. La cadena de herramientas se identifica con un target triplet: arm-none-eabi significa ARM, sin sistema operativo, ABI embebida. Incluye no solo el compilador, sino también ensamblador, enlazador, una biblioteca C compilada para el destino y un script de enlazado que sabe dónde está la memoria.

El dolor de cabeza clásico es confundir anfitrión y destino: sistemas de compilación que ejecutan programas de prueba al configurarse, cabeceras del /usr/include del anfitrión que se cuelan, una biblioteca enlazada para x86. GCC necesita un compilador construido aparte para cada destino, mientras que Clang/LLVM elige el destino con una opción, lo que explica en parte por qué Zig y Rust compilan de forma cruzada casi sin ceremonia. El resultado suele probarse primero en QEMU antes de que alguien saque una placa real del cajón.

← Volver al léxico