From owner-freebsd-questions@FreeBSD.ORG Sat Mar 5 18:04:30 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5753516A4CE for ; Sat, 5 Mar 2005 18:04:30 +0000 (GMT) Received: from smtp101.rog.mail.re2.yahoo.com (smtp101.rog.mail.re2.yahoo.com [206.190.36.79]) by mx1.FreeBSD.org (Postfix) with SMTP id A2A8C43D48 for ; Sat, 5 Mar 2005 18:04:29 +0000 (GMT) (envelope-from Mike.Jeays@rogers.com) Received: from unknown (HELO ?192.168.2.150?) (mjeays2551@24.114.152.139 with plain) by smtp101.rog.mail.re2.yahoo.com with SMTP; 5 Mar 2005 18:04:27 -0000 From: Mike Jeays To: Chuck Swiger In-Reply-To: <4229DF51.5080907@mac.com> References: <001501c52197$14127760$6501a8c0@chris> <4229C4FC.1020503@mac.com> <1110035167.650.12.camel@chaucer.jeays.ca> <4229DF51.5080907@mac.com> Content-Type: text/plain Message-Id: <1110045866.650.14.camel@chaucer.jeays.ca> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Sat, 05 Mar 2005 13:04:26 -0500 Content-Transfer-Encoding: 7bit cc: Chris cc: freebsd-questions@freebsd.org Subject: Re: Please help if you can X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Mar 2005 18:04:30 -0000 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 : push %ebp > 0x1 : mov %esp,%ebp > 0x3 : mov $0x3,%eax > 0x8 : leave > 0x9 : ret > 0xa : 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.