Разница между Cross GCC и Linux GCC toolchain

24

При создании нового C ++ Project в Eclipse меня спрашивают о наборе инструментов.

В чем практическая разница между этими инструментами - Cross GCCи Linux GCC. При каких обстоятельствах их использовать? Это как-то связано с тем, будет ли проект компилироваться как на Linux, так и на Windows-машинах?

В одном из ответов мы можем прочитать:

Обычно кросс-компилятор - это компилятор, создающий код для системы другого типа, чем ваша.

поэтому, если я скомпилирую проект на целевой машине, используя собственные make-файлы, не имеет значения, какой вариант я выберу здесь, верно?

Wiktor
источник
10
Cross GCC означает, что вы компилируете свой проект для другой архитектуры, например, у вас есть процессор x86 и вы хотите скомпилировать для ARM. Linux GCC просто означает стандарт GCC
Ульрих Дангел

Ответы:

16

Кросскомпилятор статья на Википедии довольно хорошо. Обычно кросс-компилятор - это компилятор, создающий код для системы другого типа, чем ваша. Обычно это означает другую целевую аппаратную архитектуру, но это также может означать другую целевую операционную систему (или обе).

Теоретически вы можете объединить их и использовать кросс-компилятор в архитектуре A 1 и операционной системе S 1 для создания кросс-компилятора, который будет работать в архитектуре A 2 в операционной системе S 2 и создавать код для операционной системы S 3 в архитектуре A 3 ,

Как Ульрих упоминает в своем комментарии, Linux GCC должен быть вашим «нативным» компилятором (то есть для той же цели).

peterph
источник