2008-12-08 18:37:35| 分类：
1,What is Cygwin?
Cygwin have implemented the Posix API of Unix, and also have translated the development tools, so, almost all the Unix tools can be used on the Cygwin platform. Compiled packages can be found on the official website and the internet.
2,The version of gcc that comes with Cygwin has various extensions for creating Windows DLLs, specifying whether a program is a windowing or console mode program, adding resources, etc. It also provides support for compiling MinGW-compatible executables (that is, executables that do not require Cygwin to be installed to run, or more specifically, executables that don't require Cygwin's CYGWIN1.DLL, which provides the POSIX compatibility layer).
3,Efforts to reconcile concepts that differ between Unix and Windows systems include:
* A Cygwin-specific version of the Unix mount command allows Windows paths to be mounted as "filesystems" in the Unix file space. Mount information is normally stored in the registry. Filesystems can be mounted as binary ones (by default), or as text-based ones, which enables automatic conversion between LF and CRLF endings. (This only affects programs that call open() or fopen() without specifying text or binary. Programs installed by Cygwin's setup program always open files in binary mode when appropriate, thus avoiding the problem.) Disk drives (C:, D:, etc.) are also denominated /cygdrive/c, /cygdrive/d, etc. Windows network paths of the form \\HOST\SHARE\FILE are mapped to //HOST/SHARE/FILE.
* Full-featured /dev and /proc file systems are provided. /proc/registry provides direct filesystem access to the registry.
* Symbolic links are provided, and use .LNK files (Windows shortcuts) containing Cygwin-specific information, and with the "system" attribute set to speed up processing. However, native NTFS symbolic links are handled differently; using the rm deletes the linked file instead of the link itself. Old Cygwin versions handled symbolic links using plain text files with hidden attribute set and a single line of text, pointing to the destination file or directory.
* The Solaris API for handling access control lists (ACLs) is supported and maps to the Windows NT ACL system.
* Special formats of /etc/passwd and /etc/group are provided that include pointers to the Windows equivalent SID's (in the GECOS field), allowing for mapping between Unix and Windows users and groups.
* Various utilities are provided for converting between Windows and Unix file formats, for handling line ending (CRLF/LF) issues, for displaying the DLLs that an executable is linked with, etc.
* The Cygwin library also interfaces to existing Windows libraries. It is possible to call Windows functions like waveOut from Cygwin executable itself.
* Supports native application building using mingw
* Supports remote logins using rsh, ssh, and telnet
* Embedded cross platforms support, used for many platforms including PSP and PS2
* X Window and OpenGL support
* Windows Vista support