Cygwin project is a DLL which provides a Unix emulation environment for Windows.
The Cygwin environment provides a complete port of such development utilities as gcc, binutils, gdb, make, etc., as well as a vast number of useful utilities.
Cygwin is a Linux-like environment for Windows. It consists of two parts:
· A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality.
· A collection of tools which provide Linux look and feel.
The Cygwin DLL currently works with all recent, commercially released x86 32 bit and 64 bit versions of Windows, with the exception of Windows CE.
Note that the official support for Windows 95, Windows 98, and Windows Me will be discontinued with the next major version (1.7.0) of Cygwin.
What Isn't Cygwin?
Cygwin is not a way to run native linux apps on Windows. You have to rebuild your application from source if you want it to run on Windows.
Cygwin is not a way to magically make native Windows apps aware of UNIX functionality, like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.