Cygwin

Cygwin is a set of tools for providing UNIX or Linux like environments to Windows. It consists of two parts – a DLL (cygwin1.dll), which acts as a UNIX/Linux API emulation layer providing substantial API functionality and a collection of tools to provide Linux look and feel.

Cygwin offers open source standard Red Hat GNU gcc compiler and gdb debugger on Windows. Additionally, it provides a standard UNIX/Linux development environment on Windows including APIs and command shells.

Cygwin lets the administrators easily remote login to any PC, fix problems within a UNIX/Linux shell, on any Windows machine execute shell command scripts. These scripts can be created with standard shells, sed, awk etc. Cygwin also allows standard Windows command line tools to be intermixed with the UNIX/Linux shell scripts to manage the Windows system.

Today, developers find Cygwin extremely useful tool for managing heterogenous environments in a consistent and efficient way. The Cygwin environment provides a complete port of many utilities like gcc, binutils, gdb, make etc.

The Cygwin contracts enable the customers to distribute applications without being restricted by GNU General Public License. It also provides you a license to distribute unlimited quantities of Cygwin libraries with customers’ application.
The Cygwin DLL works with all non-beta, non "release candidate", ix86 32-bit versions of Windows since Windows 95, except Windows CE.