Date: Sat, 05 Mar 2005 11:33:21 -0500 From: Chuck Swiger <cswiger@mac.com> To: Mike Jeays <Mike.Jeays@rogers.com> Cc: freebsd-questions@freebsd.org Subject: Re: Please help if you can Message-ID: <4229DF51.5080907@mac.com> In-Reply-To: <1110035167.650.12.camel@chaucer.jeays.ca> References: <001501c52197$14127760$6501a8c0@chris> <4229C4FC.1020503@mac.com> <1110035167.650.12.camel@chaucer.jeays.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Jeays wrote: >>Yes, FreeBSD will run standalone executable code in the various .exe and .dll >>formats, although people often use Wine or a similiar emulator if they want to >>have a more complete Windows environment available while using FreeBSD. > > Surely not. I have never heard it suggested before that FreeBSD will > run Windows .exe binaries directly. I would have thought that you would > have to use Wine or Crossover Office. Notice the term "standalone". The overwhelming majority of Windows .exe binaries use DLLs or make system calls which will not work under FreeBSD, which means that even "Hello world" compiled on Windows will not run directly on FreeBSD. However, something as simple as: int foo() { return 1 + 2; } ...gets turned into: 0x0 <foo>: push %ebp 0x1 <foo+1>: mov %esp,%ebp 0x3 <foo+3>: mov $0x3,%eax 0x8 <foo+8>: leave 0x9 <foo+9>: ret 0xa <foo+10>: mov %esi,%esi ...or "5589e5cb8030000009c389f6" in hex. x86 assembly is x86 assembly, and this binary sequence if compiled on Windows would still run under FreeBSD. In practice, people use Wine or developers go to some trouble to integrate the Windows-based dependencies for native software like Flash or video codecs to go, also consider the NDISulator project which uses Windows-based wireless drivers under FreeBSD. -- -Chuck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4229DF51.5080907>