Я новичок в программировании. Из того, что я знаю, программа, скомпилированная в Linux, не должна работать в Windows. Итак, если мы хотим запустить одну и ту же программу на обеих платформах, нам нужно скомпилировать исходный код для обеих платформ и создать 2 разных исполняемых файла.
В последнее время я изучаю исходный код кросс-платформенного Java GUI-приложения с открытым исходным кодом. Я удивлен, обнаружив, что серверная часть этого приложения с графическим интерфейсом представляет собой небольшой исполняемый файл, созданный из кодов C ++. Независимо от того, используют ли пользователи это приложение в Windows или Linux, графический интерфейс Java будет вызывать один и тот же исполняемый файл в папке bin.
Я просто хочу знать, как этот исполняемый файл может работать как в Windows, так и в Linux?
Мне также интересно создать кроссплатформенное приложение с графическим интерфейсом Java с использованием программы на C ++ в качестве движка. Эта программа на C ++ доступна только для Linux. Я некоторое время гуглил и обнаружил, что мне нужно использовать Cygwin для переноса его на Windows. Однако, если я использую Cygwin, у меня будет 2 разных исполняемых файла.
Как я могу объединить исполняемый файл Windows с исполняемым файлом Linux? Можно ли создать один исполняемый файл, который может работать на обеих платформах?
Спасибо.