В чем разница между --host и --target в gcc? - PullRequest
7 голосов
/ 17 августа 2011

Существует три системных имени, о которых знает сборка: машина, на которой вы строите (строите), машина, на которой вы находитесь здание для (хоста) и машина, которую GCC будет производить код для (цели). Когда вы настраиваете GCC, вы указываете они с ‘--build =’, ‘--host =’ и ‘--target =’.

Разве the machine that you are building for и the machine that GCC will produce code for не одно и то же? Какая разница?

Ответы [ 2 ]

9 голосов
/ 17 августа 2011

Возможно собрать gcc как кросс-компилятор.То есть вы можете создать gcc, который работает на одной архитектуре (хосте), но генерирует код для другой архитектуры (цели).

Обычно вы сталкиваетесь с этим при создании кода для встроенногоплатформ.Если вы пишете код для процессора в своем холодильнике, вы бы хотели создать его на своем рабочем столе, а не в холодильнике!

Некоторые люди используют кросс-компиляторы для сборки кода для другой ОС ната же архитектура.Например, можно настроить таргетинг на Windows с хоста Linux с помощью набора инструментов MinGW .

1 голос
/ 17 августа 2011

Согласно «Условиям настройки» различие между «хостом» и «целью» относится только к созданию кросс-компилятора GCC для другой машины.

http://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html

...