Когда следует использовать опцию -m32 gcc?
-
19-09-2019 - |
Вопрос
Я пишу программу, которую, если я скомпилирую ее в 32-битной системе Suse 10, без добавления -m32
вариант и выполните его на 64-разрядной версии Suse 10, все работает нормально.
В этом случае не требуется ли мне добавить -m32
вариант?
Можем ли мы запускать программы, созданные в 32-битных системах, непосредственно на их 64-битных аналогах без каких-либо побочных эффектов?Или требуются какие-то обновления или изменения?
Решение
Нет проблем с запуском 32-битных исполняемых файлов в 64-битной ОС (при условии, что 32-битные динамические библиотеки присутствуют и найдены).
-m32 предназначен для компиляции 32-битных объектов в компиляторе, настроенном для компиляции 64-битных объектов по умолчанию.
Другие советы
Если ОС поддерживает как 32-битные, так и 64-битные программы (подсказка:не все это делают, например OpenBSD) в 64-битной ОС, тогда у вас не должно возникнуть никаких проблем, если у вас есть все 32-битные зависимости для нее.