IT-словарь › Программирование › Кросс-компилятор

Кросс-компилятор

Программирование Svenska → Обновлено: 2026-11-02

Компилятор, который работает на одной архитектуре, а код порождает для другой.

Микроконтроллер с 64 КБ флеш-памяти не запустит GCC, поэтому код собирают на ПК и прошивают в устройство. Тулчейн описывается целевой тройкой (target triplet): arm-none-eabi означает ARM, без операционной системы, встраиваемый ABI. В него входит не только компилятор, но и ассемблер, компоновщик, библиотека C, собранная под целевую платформу, и скрипт компоновки, знающий, где лежит память.

Классическая головная боль — путаница хоста и цели: системы сборки, запускающие тестовые программы при конфигурации, заголовки из хостового /usr/include, которые просачиваются в сборку, библиотека, слинкованная под x86. GCC требует отдельно собранного компилятора под каждую цель, а Clang/LLVM выбирает цель флагом — отчасти поэтому Zig и Rust кросс-компилируют почти без церемоний. Результат часто сначала пробуют в QEMU, и лишь потом достают настоящую плату.

← Назад к словарю