Работает ли gcc, когда оболочка отличается от бинарного файла для конкретной платформы? - PullRequest
2 голосов
/ 12 февраля 2009

Насколько я понимаю, gcc, / usr / bin / gcc (и другие биты, связанные с gcc, например, ld) - это небольшая оболочка, которая делегирует двоичный файл для платформы в другом месте системы.

Так что компиляция по-прежнему работает правильно, если у вас есть кросс-компилятор с парой версий, стоящих за / usr / bin / gcc?

Ответы [ 2 ]

2 голосов
/ 12 февраля 2009

Да, вся идея состоит в том, чтобы позволить gcc быть установленным в разных версиях и для разных целевых платформ (в любой комбинации), которые должны быть установлены параллельно.

/ usr / bin / gcc просто использует fork + exec для вызова фактического компилятора. Аргументы командной строки, переданные gcc, просто передаются фактическому компилятору с двумя исключениями: -V и -b. Последний выбирает целевую платформу, а первая - версию компилятора.

0 голосов
/ 12 февраля 2009

Вы не будете использовать / usr / bin / gcc для кросс-компиляции. Вместо этого вы установите другой компилятор с другим префиксом. Например, если вы используете Debian / Ubuntu, вы можете установить кросс-компилятор ming (win32), выполнив:

apt-get install mingw32

Который будет отлично работать бок о бок с обычным GCC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...