O vinho é um emulador ou camada de compatibilidade?


8

Ontem, tive uma discussão quente com um amigo (usuário do Windows). Ele disse que o Wine é apenas um emulador. Eu disse que nenhum vinho é lido como "o vinho não é um emulador". Então ele me deu muitos links, incluindo a página wiki do WineHQ . "O vinho não é esse tipo de emulador" está escrito lá.

Então, eu quero perguntar se o Wine é um emulador, por que ele se autodenomina "Wine não é um emulador"?


7
Vinho significa " W ine I s N ot um E mulator".

11
Faça-o ler o que está sob o título "O vinho não é esse tipo de emulador".
Oxwivi

Está claramente escrito 'Wine não faz emulação de CPU - daí o nome "Wine Is Not an Emulator".'
Oxwivi

O vinho não é esse tipo de emulador, mas ainda é um pouco emulador? O Wine não faz nenhuma emulação de CPU, então o que o Wine emula?
Puneet

apenas emula bibliotecas do Windows . Portanto, as chamadas de API de um software são emuladas, o restante do código do software não é, ele é executado nativamente.
MestreLion

Respostas:


14

Um programa no Windows faz uso extensivo de bibliotecas padrão que pertencem ao Microsoft Windows. Essas bibliotecas são reescritas e implementadas no Wine para que elas façam o mesmo. Quanto mais um programa for bem escrito e as bibliotecas padrão, maior a chance de o programa funcionar no Wine.

O código de um programa é examinado primeiro para chamar as bibliotecas do Windows. Essas chamadas são traduzidas para que as bibliotecas do Wine liguem. Em seguida, o código do programa executado a toda velocidade. Não há código emulado, mas apenas as chamadas para as bibliotecas são traduzidas.

Portanto, em teoria. um programa deve funcionar tão rápido quanto o Microsoft Windows. Na prática, o programa pode ser mais lento, porque a tradução é feita. Mas existe a possibilidade de um programa funcionar mais rápido porque as bibliotecas do Wine são mais simples e porque o acesso ao disco geralmente é mais rápido no Linux.

Como o Linux usa o OpenGL, os programas do Windows que usam o OpenGL geralmente funcionam bem no Wine. O Linux não usa o DirectX - no entanto, os jogos do DirectX funcionam no Wine porque as chamadas do DirectX podem ser convertidas pelas chamadas do Wine para OpenGL.


4
Em conclusão: o vinho é uma camada de compatibilidade, não um emulador.
Marco Ceppi

4

No mesmo link que você apontou para "O Wine não faz nenhuma emulação de CPU" É o que os emuladores costumam fazer (wii, psx, n64, etc)

Para uma resposta mais completa, você pode ler o primeiro parágrafo do link que você forneceu - não acho que alguém possa explicá-lo de uma maneira melhor.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.