14.3. Unix/Windows Portability
Unix and Windows are very different operating systems, with very different APIs and functionality. With significant extra work and some sacrifice in functionality, however, you can write programs that run on both Unix and Windows. For more information on how GNU Autotools can help you write programs that run on both Unix and Windows, see Chapter 24, "Using GNU Autotools with Cygnus' Cygwin."
14.3.1. Unix/Windows Emulation
The simplest way to write a program that runs on both Unix and Windows is to use an emulation layer. This generally results in a program that runs, but does not really feel like other programs for the operating system in question.
For example, the Cygwin package (freely available from Cygnus Solutions ...