Если я напишу программу на C и скомпилирую ее в .exe
файл, .exe
файл будет содержать необработанные машинные инструкции для CPU. (Я думаю).
Если да, то как я могу запустить скомпилированный файл на любом компьютере с современной версией Windows? Каждое семейство процессоров имеет свой набор команд. Так почему же любой компьютер, на котором установлена соответствующая ОС, может понимать инструкции в моем .exe
файле, независимо от его физического процессора?
Кроме того, часто на веб-сайтах на странице «загрузки» какого-либо приложения имеется загрузка для Windows, для Linux и для Mac (часто две загрузки для каждой ОС, для 86 и 64-разрядных компьютеров). Почему не так много загрузок для каждого семейства процессоров?