Могу ли я использовать gcc -march для компиляции в другие ISA - PullRequest
2 голосов
/ 23 февраля 2012

Мой собственный компьютер имеет Intel Core I5. Однако я хочу знать, как будет выглядеть сборка, если я использую RISC ISA, например, ARM или powerPC.

Могу ли я скомпилировать код C в сборку, используя ISA другой микроархитектуры?

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Нет. -march влияет только на субархитектуру, на которую будет ориентирован компилятор (например, будет ли он использовать функции, которые доступны не на всех процессорах). Он не позволяет компилятору вообще создавать код для другой архитектуры.

Что вам нужно, так это кросс-компилятор - копия GCC, которая скомпилирована для x86 (или чего-то еще), но компилируется в PowerPC / ARM / MIPS / любой другой код. Сборка кросс-компилятора - сложный процесс, но в Интернете есть инструкции.

2 голосов
/ 23 февраля 2012

Для этого вам нужно собрать (или установить) кросс-компилятор.Данная сборка GCC предназначена только для одного «семейства» процессоров;например, может быть создан компилятор GCC, предназначенный для x86 и x86_64.Но вы не можете (насколько я знаю) создать компилятор GCC, предназначенный для x86 и PPC.

Вы можете запустить компилятор, который выводит сборку PPC на x86 - это называетсякросс-компилятор.Ищите их в репозиториях пакетов вашего дистрибутива или используйте такие инструменты, как crossdev , чтобы создать себя.

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