와인은 에뮬레이터 또는 호환성 레이어입니까?


8

어제 친구 (Windows 사용자)와 대화를 나누었습니다. 그는 와인은 에뮬레이터 일 뿐이라고 말했다. 나는 와인이 "와인은 에뮬레이터가 아니다"라고 읽지 않았다고 말했다. 그런 다음 WineHQ의 wiki 페이지를 포함하여 많은 링크를 제공했습니다 . "와인은 그런 종류의 에뮬레이터가 아닙니다"라고 쓰여 있습니다.

와인이 에뮬레이터인지 묻고 싶은 이유는 무엇입니까?


7
와인은 " W ine I s N ot an E mulator" 의 약자입니다 .

1
"와인은 그런 종류의 에뮬레이터가 아닙니다"제목 아래에있는 내용을 읽게하십시오.
Oxwivi

'와인은 CPU 에뮬레이션을 수행하지 않으므로 "와인은 에뮬레이터가 아닙니다."
Oxwivi

와인은 그런 종류의 에뮬레이터가 아니지만 여전히 다소 에뮬레이터입니까? Wine은 어떤 CPU 에뮬레이션을하지 않습니까?
puneet

Windows 라이브러리 만 에뮬레이트합니다 . 따라서 소프트웨어의 API 호출은 에뮬레이션되고 나머지 소프트웨어 코드는 에뮬레이션되지 않으며 기본적으로 실행됩니다.
MestreLion 2016 년

답변:


14

Windows의 프로그램은 Microsoft Windows에 속하는 표준 라이브러리를 광범위하게 사용합니다. 이 라이브러리는 Wine에서 다시 작성되고 구현되어 거의 동일한 기능을 수행합니다. 프로그램이 잘 작성되고 표준 라이브러리가 많을수록 프로그램이 와인에서 작동 할 가능성이 높아집니다.

프로그램의 코드는 먼저 Windows 라이브러리를 호출하기 위해 검사됩니다. 이 호출은 와인의 라이브러리가 호출되도록 변환됩니다. 그런 다음 프로그램 코드가 최고 속도로 실행되었습니다. 에뮬레이트 된 코드는 없지만 라이브러리에 대한 호출 만 변환됩니다.

그러므로 이론 상으로는 프로그램은 Microsoft Windows만큼 빠르게 작동해야합니다. 실제로 번역이 이루어지기 때문에 프로그램 속도가 느려질 수 있습니다. 그러나 Wine의 라이브러리가 단순하고 Linux에서 디스크 액세스가 더 빠르기 때문에 프로그램이 더 빠르게 작동 할 가능성이 있습니다.

Linux는 OpenGL을 사용하므로 OpenGL을 사용하는 Windows 프로그램은 종종 Wine에서 잘 작동합니다. Linux는 DirectX를 사용하지 않습니다. 그러나 DirectX 호출은 Wine에서 OpenGL 호출로 변환 할 수 있기 때문에 Wine에서 작동합니다.


4
결론 : 와인은 에뮬레이터가 아닌 호환성 레이어입니다.
Marco Ceppi

4

"와인은 CPU 에뮬레이션을 수행하지 않습니다"와 동일한 링크에서 에뮬레이터가 일반적으로 수행하는 작업 (wii, psx, n64 등)

더 완전한 답변을 위해 귀하가 제공 한 링크의 첫 번째 단락을 읽을 수 있습니다. 다른 사람이 더 나은 방법으로 설명 할 수 있다고 생각하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.