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


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.