Будет ли программа выполнять 64-битную работу на 32-битной машине?
-
19-09-2019 - |
Вопрос
Как сказал название, я выполнил программу C и создала бинарную машину в 64-разрядной машине.
Решение
64-битные двоичные файлы не могут работать на 32-разрядной ОС. Если file
Отчеты ELF 64-bit
, У вас есть 64-битный двоичный.
Чтобы построить 32-битные двоичные файлы на 64-разрядном Linux, вам нужен проход -m32
в GCC. Вам также необходимо установить 32-разрядные библиотеки (sudo apt-get install libc6-dev-i386
).
Другие советы
Компилированная машина не имеет значения. Важно: сгенерирован ли код 32 бита (ответ: да) или 64 бита (ответ: нет).
Будет ли он работать на 32-битной машине? Один с процессором, который не поддерживает 64-битный режим? Нет.
Будет ли он работать на 64-битной виртуальной машине на 32-разрядной нативной ОС? Да, по моему опыту.
Удивительным результатом является то, что 64-битная виртуальная машина может быть запущена под 32-разрядной ОС хоста, при условии, что ЦП способен, и вы не хотите выделять слишком много оперативной памяти (> 2G или около того) гостям.