2

As far as I know, it just emulates the windows API on Linux, and passes the windows c functions to the c functions in the Linux kernel. Can anyone shed some light on this?

1
  • 2
    A quick Google returns dozens of relevant results, including a Super User question of which this is a duplicate.
    – James P
    Mar 8, 2013 at 9:32

1 Answer 1

1

Wikipedia - is a good starting point, and states:

The phrase "Wine Is Not an Emulator" is a reference to the fact that no processor code execution emulation occurs when running a Windows app under Wine. "Emulation" usually refers to the execution of compiled code intended for one processor (say, x86) by interpreting/recompiling software running on a different processor (say, PowerPC). Such emulation is almost always much slower than execution of the same code by the processor for which the code was compiled. In Wine, the Windows app's compiled x86 code runs at full native speed on the computer's x86 processor, just as it does when running under Windows. And Windows API calls and services also are not emulated, but rather substituted with Linux equivalents that are compiled for x86 and run at full, native speed.

5
  • ahhh so its a semantic thing? interesting and awkward definition of "emulation", from my perspective. but no matter, definitions are relative at the best of times.
    – Erik
    Mar 8, 2013 at 6:15
  • It also is a great recursive acronym, which is essential when naming foss softwarw
    – Journeyman Geek
    Mar 8, 2013 at 6:56
  • Optional reading: en.wikipedia.org/wiki/Recursive_acronym
    – iglvzx
    Mar 8, 2013 at 7:12
  • @Erik - no, its more then a semantic thing. Emulation implies modifying the byte code, where as WINE does not do that - it just passes is straight to the CPU. (Much like running a 32 bit program in a 64 bit OS is not emulation).
    – davidgo
    Mar 8, 2013 at 7:15
  • @davidgo - I term the author might understand is its a abstraction layer and/or wrapper, WINE calls Win32 library functions, which call functions supported by Linux that return the same value.
    – Ramhound
    Mar 8, 2013 at 12:10

Not the answer you're looking for? Browse other questions tagged .