MinGW è una porta Windows nativa della GNU Compiler Collection (GCC), con librerie di importazione liberamente distribuibili e file header per la costruzione di applicazioni Windows native. Include estensioni del runtime di MSVC per supportare la funzionalità C99. Tutto il software di MinGW verrà eseguito sulla piattaforma Windows a 64 bit.
MinGW fornisce un ambiente di sviluppo minimalista e un set completo di strumenti di programmazione Open Source, adatto allo sviluppo di applicazioni native MS-Windows, che non dipendono da eventuali DLL C-Runtime di terze parti*.
Le caratteristiche principali di MinGW includono:
- Una porta della GNU Compiler Collection (GCC), che include i compilatori C, C++, ADA e Fortran.
- GNU Binutils per Windows (assemblatore, linker, gestore di archivi).
- Un installatore a riga di comando, con front-end GUI opzionale, (mingw-get) per la distribuzione di MinGW e MSYS su MS-Windows.
- Uno strumento di configurazione GUI per la prima volta (mingw-get-setup), per farvi diventare operativi con mingw-get.
I compilatori MinGW forniscono l'accesso alle funzionalità del runtime di Microsoft C e ad alcuni runtime specifici per lingua. Vale la pena di notare che MinGW, essendo minimalista, non tenta, e non tenterà mai di farlo per fornire un ambiente runtime POSIX per la distribuzione delle applicazioni POSIX su MS-Windows. Se avete bisogno dell'implementazione dell'applicazione POSIX su questa piattaforma, considerate invece Cygwin.
*Dipende da un certo numero di DLL fornite da Microsoft stessa, come componenti del sistema operativo; la più notevole tra queste è MSVCRT.DLL, la libreria runtime di Microsoft C. Inoltre, Le applicazioni filettate devono essere fornite con un supporto di filettatura DLL liberamente distribuibile, fornito come parte di MinGW stesso.