Please help if you can
Mike Jeays
Mike.Jeays at rogers.com
Sat Mar 5 10:04:30 PST 2005
On Sat, 2005-03-05 at 11:33, Chuck Swiger wrote:
> 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.
Thanks for the education! I am still amazed, and will try it for myself
when I have a few minutes.
More information about the freebsd-questions
mailing list