5

Cygwin и Wine оба являются слоями совместимости. Один из них реализует POSIX в Windows, а другой - Windows API в * nix. Почему необходимо перекомпилировать двоичные файлы для запуска в Windows с Cygwin, а приложения Windows можно запускать без перекомпиляции Wine?

3 ответа3

2

На самом деле нет хорошего ответа на этот вопрос, кроме "они разные". Теоретически было бы возможно создать Cygwin-подобный слой для * nix, который позволил бы вам перекомпилировать приложения Windows для * nix, и Wine-подобный слой для Windows, который позволил бы вам запускать * nix приложения без перекомпиляции, но это не то, что делали люди.

2

Потому что есть одна Windows (хотя и в разных версиях) на одной платформе (x86), но миллиарды * nixes (SysV, BSD, Linux, Dec, ...), умноженные на их платформы, умноженные на поддерживаемые ими CPU.

Совместное использование кода в * nix всегда делилось источником из-за этого разнообразия.

-1

Cygwin предоставляет среду Linux на компьютере со специальной архитектурой, является симулятором компьютера. С другой стороны, Wine предоставляет среду, в которой инструкции Windows преобразуются в инструкции Linux через библиотеки. Windows может быть выполнена только на x86 или x64 (теперь также ARM), а Linux может быть выполнен на множестве.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .