Можем ли мы настроить gcc на архитектуру intel x64 для создания двоичного кода для ARM-чипа, просто передав некоторые флаги в gcc и не используя кросс-компилятор.Может ли gcc производить двоичный код для Arm без кросс-компиляции
ответ
Short: Нету
Компилятор: НКУ не является родным кросс-компилятор, целевая архитектура должна быть указана на момент компиляции GCC. (Некоторые исключения применяются, например, как x86 и x86_64 могут поддерживаться одновременно)
clang будет родным кросс-компилером, и вы можете сгенерировать код для руки, передав -target = arm-linux-gnu, но вы все еще не могут создавать двоичные файлы, так как вам нужен линкер и C-библиотека. Значит, вы можете запустить clang -target=arm-linux-gnu -c <your file>
и скомпилировать код C/C++ (скорее всего, нужно указывать его на пути к C/C++ include), но вы не можете создавать двоичные файлы.
Остальной инструментарием,: Вам нужен подходящий компоновщик и набор инструментов тоже как являются специфическими для архитектуры и OS вы хотите работать на.
Возможные решения: Получите подходящую инструментальную цепочку или скомпилируйте свою собственную. Для arm linux у вас есть ex. CrossToolchains, если вы находитесь на debian, для barebone вы можете получить кросс-компилятор от codeourcery.
С тех пор, как вы были очень расплывчаты, его невозможно дать более ясный ответ