Yes, and I usually agree with you and think the whole WINE Is Not an Emulator acronym is a bit too much because a windows Emulator is the easiest way to explain Wine… That being said emulators have a technical definition, and Wine does not fit it because it doesn’t emulate hardware nor does it translate binaries. Linux is perfectly capable of understanding windows binaries and vice-versa, because they both run on the same platform the binaries are the same, which is to say a specific sequence of bits that instructs the processor to do something is the same for both Windows and Linux binaries. The reason you can’t run windows binaries on Linux (again, or vice-versa) is because they make calls to external libraries that are not available, be it the windows API or the Linux Kernel API. So if you write a library that implements the windows API using Linux APIs you suddenly are able to run windows binaries on Linux, and that’s all that wine does.
Yes, and I usually agree with you and think the whole WINE Is Not an Emulator acronym is a bit too much because a windows Emulator is the easiest way to explain Wine… That being said emulators have a technical definition, and Wine does not fit it because it doesn’t emulate hardware nor does it translate binaries. Linux is perfectly capable of understanding windows binaries and vice-versa, because they both run on the same platform the binaries are the same, which is to say a specific sequence of bits that instructs the processor to do something is the same for both Windows and Linux binaries. The reason you can’t run windows binaries on Linux (again, or vice-versa) is because they make calls to external libraries that are not available, be it the windows API or the Linux Kernel API. So if you write a library that implements the windows API using Linux APIs you suddenly are able to run windows binaries on Linux, and that’s all that wine does.