Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Можно ли программу ЕХЕ, написанную на С++ скомпилировать в формат, понимающий Linux?

C++ у меня на пк есть.
ПрограммированиеLinux+2
Артур Домков
Разработка на C#
  · 4,7 K
Лучший
Программист. Пишу десктопные приложения на императивных языках (в последние 7 лет только...  · 19 окт 2021
1) EXE - файл это исполняемый модуль, бинарный файл. Одна из его частей - ссылки на другие библиотеки и функции. Часть из этих функций - функции операционной системы Windows. Эти функции часть набора функций интерфейса прикладного программирования (Application Programming Interface - API). Этот набор функций уникален для каждой операционной системы: в Windows он свой, а в Linux он свой.
2) Компилятора для создания EXE-файла мало: нужен линкер (компоновщик). Компилятор создаёт объектные файлы, а линкер создаёт исполняемый модуль (dll или exe), связывая объектные файл, статически и динамически компонуемые библиотеки. В частности, задача линкера создать секции с таблицами импорта и экспорта. В таблицы экспорта входят имена динамически компонуемых библиотек. В другой операционной системе таких библиотек по понятным причинам нет.
3) Динамически компонуемые библиотеки (DLL), во-первых сами имеют ссылки на другие dll, а во-вторых при загрузе (часто) выполняют некоторую работу, которая может быть уникальна для конкретной операционной системы.
Именно поэтому перекомпилировать уже "собранный" exe-файл под Linux невозможно.
Однако, существуют специальные программы (системы), например Wine которые позволяют под Linux'ом использовать программы написанные под Windows.
2 эксперта согласны
Уточнение. если программа не обращается к функциям операционной системы, то теоретически - это просто машинный... Читать дальше
embedded Linux Raspberry Cortex ARM MIPS Python Django Flask разработка языков программиро...  · 21 окт 2021
скомпилировать можно только исходный код на Си, скорее всего будут необходимы правки кода программы, которые зависят от платформы (внешние библиотеки, ввод/вывод) есть ещё термин "бинарная трансляция" но её пытались применять для автоматического переноса программ для другого процессора Под Linux для запуска Win-приложения применяется WINE, он занимается загрузкой кода... Читать далее
1 эксперт согласен
Ну, не только на C исходный код может быть, а любой язык програмирования выского уровня.
Инженер путей сообщения – строитель  · 19 окт 2021
Нет нельзя. Но можно при желании такую программу под Линуксом запустить. А при наличии исходников теоретически можно перекомпилировать. И то если программа нормально написана.