Skip site navigation (1)Skip section navigation (2)
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>