Ist Wein ein Emulator oder eine Kompatibilitätsschicht?


8

Gestern hatte ich eine heiße Diskussion mit einem meiner Freunde (Windows-Benutzer). Er sagte, Wein sei nur ein Emulator. Ich sagte, kein Wein wird gelesen als "Wein ist kein Emulator". Dann gab er mir viele Links, einschließlich der Wiki-Seite von WineHQ . "Wein ist nicht so ein Emulator" steht dort geschrieben.

Ich möchte also fragen, ob Wein ein Emulator ist, warum er sich selbst "Wein ist kein Emulator" nennt.


7
Wein steht für " W ine I s N ot an E mulator".

1
Lassen Sie ihn lesen, was unter der Überschrift "Wein ist nicht so ein Emulator" steht.
Oxwivi

Es steht klar geschrieben: "Wine macht keine CPU-Emulation - daher der Name" Wine Is Not a Emulator ".
Oxwivi

Wein ist nicht diese Art von Emulator, aber es ist immer noch etwas Emulator? Wine emuliert keine CPU, was Wine emuliert dann?
Puneet

Es werden nur Windows- Bibliotheken emuliert . API-Aufrufe von einer Software werden also emuliert, der Rest des Software-Codes nicht, er wird nativ ausgeführt.
MestreLion

Antworten:


14

Ein Programm in Windows verwendet in großem Umfang Standardbibliotheken, die zu Microsoft Windows gehören. Diese Bibliotheken werden neu geschrieben und in Wine implementiert, sodass sie fast dasselbe tun. Je besser ein Programm geschrieben ist und die Standardbibliotheken, desto größer ist die Chance, dass das Programm in Wine funktioniert.

Der Code eines Programms wird zunächst auf den Aufruf der Windows-Bibliotheken untersucht. Diese Aufrufe werden so übersetzt, dass die Bibliotheken des Weins aufgerufen werden. Dann wird der Code des Programms mit voller Geschwindigkeit ausgeführt. Es gibt keinen emulierten Code, sondern nur die Aufrufe der Bibliotheken werden übersetzt.

Daher theoretisch. Ein Programm sollte ungefähr so ​​schnell funktionieren wie Microsoft Windows. In der Praxis kann das Programm langsamer sein, da die Übersetzung erfolgt. Es besteht jedoch die Möglichkeit, dass ein Programm schneller arbeitet, da die Bibliotheken von Wine einfacher sind und der Festplattenzugriff unter Linux häufig schneller ist.

Da Linux OpenGL verwendet, funktionieren Windows-Programme, die OpenGL verwenden, in Wine häufig gut. Linux verwendet DirectX nicht. DirectX-Spiele funktionieren jedoch in Wine, da die DirectX-Aufrufe von Wine in OpenGL-Aufrufe übersetzt werden können.


4
Fazit: Wein ist eine Kompatibilitätsschicht, kein Emulator.
Marco Ceppi

4

Über denselben Link wie den, auf den Sie hingewiesen haben: "Wine führt keine CPU-Emulation durch" Dies ist normalerweise das, was Emulatoren tun (wii, psx, n64 usw.).

Für eine vollständigere Antwort können Sie den ersten Absatz des von Ihnen bereitgestellten Links lesen - ich glaube nicht, dass irgendjemand ihn besser erklären kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.