Задать вопрос
@gth-other

Будет ли скомпилированный код C++ работать на всех архитектурах процессора?

Пишу прикладную софтину. Появился вопрос будет ли скомпилированный бинарник работать на всех архитектурах процессора. Вроде бы простой вопрос, а в гугле найти не могу (проверить самому тоже нет возможности). Иными словами, если у меня amd64, то будет ли скомпилированный на моей оси код работать на архитектурах ix86 и наоборот.
  • Вопрос задан
  • 246 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
Решения вопроса 2
@res2001
Developer, ex-admin
Даже бинарник для х64 не будет работать под х32, что уж говорить о принципиально разных архитектурах.
В исполняемом файле содержатся машинные команды для конкретной архитектуры процессора.
Для другой архитектуры нужен другой исполняемый файл.
То же самое актуально и для разных ОС (бинарники для линукс и винды не совместимы). Но, обычно, есть варианты запустить бинарник от другой ОС - виртуализация, wine в линукс, WSL в винде.

Более того, например, если у вас приложение х64 и вы используете какую-то специфическую фичу процессора, которая есть только в определенных моделях процессора, то приложение будет корректно работать только на процессорах поддерживающих эту фичу. Если нужно, в приложении можно предусмотреть проверку процессора и если фича не поддерживается использовать какую-то универсальную реализацию.
Ответ написан
Комментировать
xez
@xez
TL Junior Roo
Очевидно же, что нет
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kaka888
C, C++, Qt, Python, Flask, aiogram, MySQL, Redis..
Архитектура AMD64 является частным случаем архитектуры x86. Если скомпилировали под архитектуру AMD64, то на 32-битных работать не будет. А если скомпилировали для 32-битных, то будет работать и на 32, и на 64-битных
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы