Cygwin é uma grande coleção de ferramentas GNU e Open Source que fornecem funcionalidades semelhantes a uma distribuição Linux no Windows. Trata-se de uma DLL (cygwin1.dll) que fornece funcionalidades substanciais da API POSIX.
Cygwin é uma maneira de executar aplicativos Linux nativos no Windows. Você deve reconstruir a aplicação a partir do código-fonte se quiser que ele seja executado no Windows.
É uma maneira mágica de tornar os aplicativos nativos do Windows cientes da funcionalidade do UNIX®, como sinais, ptys, etc. Reiterando, você precisa criar seus aplicativos a partir do código-fonte se quiser aproveitar a funcionalidade do Cygwin.