MinGW
MinGW is a native Windows port of the GNU Compiler Collection (GCC), with freely distributable import libraries and header files for building native Windows applications. It includes extensions to the MSVC runtime to support C99 functionality. All of MinGW's software will execute on the 64bit Windows platform.
MinGW provides you with a minimalist development environment and a complete Open Source programming tool set, which is suitable for the development of native MS-Windows applications, which do not
depend on any 3rd-party C-Runtime DLLs*.
Key features of MinGW include:
A port of the GNU Compiler Collection (GCC), including C, C++, ADA and Fortran compilers.
GNU Binutils for Windows (assembler, linker, archive manager).
A command-line installer, with optional GUI front-end, (mingw-get) for MinGW and MSYS deployment on MS-Windows.
A GUI first-time setup tool (mingw-get-setup), to get you up and running with mingw-get.
MinGW compilers provide access to the functionality of the Microsoft C runtime, and some language-specific runtimes. It is worth noting that MinGW, being minimalist, does not, and never will, attempt
to provide a POSIX runtime environment for POSIX application deployment on MS-Windows. If you need POSIX application deployment on this platform, please consider Cygwin instead.
*It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most notable among these is MSVCRT.DLL, the Microsoft C runtime library. Additionally,
threaded applications must ship with a freely distributable thread support DLL, provided as part of MinGW itself.