Wine - эмулятор или слой совместимости?


8

Вчера у меня была горячая дискуссия с одним из моих друзей (пользователь Windows). Он сказал, что Wine - это просто эмулятор. Я сказал, что Wine не читается как «Wine - не эмулятор». Затем он дал мне много ссылок, включая вики-страницу WineHQ . «Вино не такой эмулятор», там написано.

Поэтому я хочу спросить, является ли Wine эмулятором, почему он называет себя "Wine не эмулятор"?


7
Вино означает " W INE I с N ВЗ на E mulator".

1
Заставьте его прочитать то, что находится под заголовком "Wine - не эмулятор".
Oxwivi

Четко написано: «Wine не выполняет эмуляцию процессора - отсюда и название Wine не является эмулятором».
Oxwivi

Wine не такой эмулятор, но все же это эмулятор. Wine не выполняет эмуляцию процессора, а что эмулирует Wine?
пуниет

он только эмулирует библиотеки Windows . Таким образом, вызовы API из программного обеспечения эмулируются, а остальной программный код - нет, он выполняется изначально.
MestreLion

Ответы:


14

Программа в Windows широко использует стандартные библиотеки, которые принадлежат Microsoft Windows. Эти библиотеки переписаны и реализованы в Wine, так что они делают то же самое. Чем лучше программа написана и стандартные библиотеки, тем больше шансов, что программа будет работать в Wine.

Код программы сначала проверяется для вызова библиотек Windows. Эти вызовы переводятся так, чтобы вызывались библиотеки Wine. Затем код программы выполняется на полной скорости. Эмулируемого кода нет, но переводятся только обращения к библиотекам.

Поэтому в теории. программа должна работать примерно так же быстро, как Microsoft Windows. На практике программа может быть медленнее, потому что перевод сделан. Но есть вероятность, что программа будет работать быстрее, потому что библиотеки Wine проще, а доступ к диску в Linux часто быстрее.

Поскольку Linux использует OpenGL, программы Windows, которые используют OpenGL, часто хорошо работают в Wine. Linux не использует DirectX - однако игры DirectX работают в Wine, поскольку вызовы DirectX могут переводиться Wine в вызовы OpenGL.


4
В заключение: Wine - это слой совместимости, а не эмулятор.
Марко Чеппи

4

По той же ссылке, на которую вы указали «Wine не выполняет эмуляцию процессора». Эмуляторы обычно это делают (wii, psx, n64 и т. Д.).

Для более полного ответа вы можете прочитать первый абзац предоставленной вами ссылки - я не думаю, что кто-то сможет объяснить это лучше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.