From: Fabian G. <fa...@gr...> - 2011-08-25 13:51:40
|
Am 25.08.2011 15:38, schrieb Earnie: > I did not know this. But it's true. All programs (i.e. all that are not already natively ported to Win32 API by their respective upstream) in UnxUtils are linked against the Downhill library, which describes itself as "[...] a collection of Win32-compatible routines designed to emulate UNIX API calls. These routines allow UNIX code to run under Win32 OS's (Windows 95, Windows NT and Windows 3.1 with Win32s) with as little modification as possible, without a lot of ugly #ifdefs." [1] And LibGW32C for GnuWin32 "is an implementation of a small part of GLibC, just enough to compile most Unix programs on MS Windows. It contains functions for passwords, process id's groups, and strings. Most are interfaces to the MS-Windows Win32 API. Some are just dummy functions that do nothing." [2] > Static linking of the runtime is *not* possible by design because of the > way fork is emulated. The DLL holds the common data between the parent > and the child processes and the child process is initialized with the > parents data before the threads are allowed to execute. You can't > emulate POSIX on Windows without a common data being shared between two > processes. Both of the aforementioned libraries support static linking AFAICT. - Fabian [1] http://unxutils.cvs.sourceforge.net/viewvc/unxutils/unxutils/Downhill/DOC/README.TXT?revision=1.1.1.1 [2] http://gnuwin32.sourceforge.net/packages/libgw32c.htm |