MinGW est un port Windows natif de la GNU Compiler Collection (GCC), avec des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la construction d'applications Windows natives. Il comprend des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels de MinGW s'exécuteront sur la plate-forme Windows 64 bits.
MinGW vous offre un environnement de développement minimaliste et un ensemble complet d'outils de programmation Open Source, qui convient au développement d'applications MS-Windows natives, qui ne dépendent d'éventuelles DLL C-Runtime de tiers*.
Les principales caractéristiques de MinGW sont les suivantes :
- Un portage de la collection de compilateurs GNU (GCC), comprenant les compilateurs C, C++, ADA et Fortran.
- GNU Binutils pour Windows (assembleur, éditeur de liens, gestionnaire d'archives).
- Un installateur en ligne de commande, avec une interface graphique optionnelle (mingw-get) pour le déploiement de MinGW et MSYS sur MS-Windows.
- Un outil de configuration de l'interface graphique pour la première fois (mingw-get-setup), pour vous permettre d'être opérationnel avec mingw-get.
Les compilateurs MinGW permettent d'accéder aux fonctionnalités du runtime C de Microsoft et à certains runtimes spécifiques à un langage. Il convient de noter que MinGW, étant minimaliste, ne tente pas, et ne tentera jamais de fournir un environnement d'exécution POSIX pour le déploiement d'applications POSIX sous MS-Windows. Si vous avez besoin de déployer une application POSIX sur cette plateforme, veuillez plutôt envisager Cygwin.
*Il dépend d'un certain nombre de DLL fournies par Microsoft elles-mêmes, en tant que composants du système d'exploitation ; la plus notable d'entre elles est MSVCRT.DLL, la bibliothèque d'exécution C de Microsoft. En outre, Les applications filetées doivent être livrées avec une DLL de support de filetage librement distribuable, fournie dans le cadre du MinGW lui-même.