http://en.wikipedia.org/wiki/Cygwin wrote: |
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.
|
Yes Cygwin does use GCC for cross compiling. I get that (since the compile command itself is named 'gcc'), and without using the term "cross-compiling" I've been stating that this is what I want from the beginning of this thread. I'm pretty sure it's been done before by some members on this forum, so I was hoping someone would be able to explain how it can used in this way.
Anyhow, although I didn't mention it (I didn't think I'd have to), I don't want to use a Virtual Machine. I've tried it before and I've simply never understood how to get anything to work properly. In one, I was basically stuck blindly using the command prompt my entire way through since it refused to store anything into memory. I tried Ubuntu, but I could never figure out how to get past a black screen that asks for my username and password (no problem entering them, it just doesn't lead me anywhere except display information that I logged in and that Ubuntu is free software, etc.). I've tried following their "official documentation", but it only tells me how I'm suppose to use my mouse... in Japanese. Talk about an amazing help when they won't let me choose my language of preference for a documentation guide.