Как мне узнать, будет ли программа, которую я пишу на C ++, правильно работать в 32-битной ОС или нет?
(без ручного тестирования в одном)
Я использую Visual Studio и компилирую на 64-битной машине. Остановит ли это работу программы на других машинах?
А что с процессором и версией Windows? Будет ли двоичный файл совместим с большинством версий и процессоров Windows, если программа просто выполняет несколько простых операций, таких как веб-запросы и вычисления, с простым пользовательским интерфейсом?
Моя программа не должна быть 64-битной. Я просто хотел бы создать один бинарный файл, который работает на большинстве компьютеров, таких как те, которые я загружаю каждый день в Интернете. Как я мог это сделать?
Для исполняемого файла, скомпилированного и связанного для 64-разрядных, обычно также требуются 64-разрядные библиотеки.
Используйте такие инструменты, как Зависимость Уокер выяснить, ссылается ли данный исполняемый файл на 32- или 64-битные библиотеки.
В Visual Studio, «целевая платформа» решает, на какую архитектуру процессора вы ориентируетесь. Вполне возможно создать 64-битные исполняемые файлы в 32-битной системе, но вы не можете запустить их на такой машине.
Если вы создаете свой код специально для 64-битной Windows, вы не можете ожидать, что двоичный файл будет работать на 32-битной Windows. Это потребует отдельной сборки.
Вы можете делать то, что называется кросс-компиляцией, т.е. компилированием на одной машине для другой. Как скомпилировать 32-битный двоичный файл на 64-битной машине Linux с помощью gcc / cmake Это то, что вам нужно, если я правильно прочитал. Должен быть эквивалент Windows.