MinGW | |
---|---|
Típusú | fordítóprogram |
Fejlesztők | Colin Peters , Jan - Jaap van der Heijden , Mumit Khan , Anders Norlander , Ernie Boyd ( _ _ _ val. Earnie Boyd ) , Dale Henderson ( eng. Dale Handerson ) stb. |
Beírva | C , C++ |
Operációs rendszer | Microsoft Windows |
Első kiadás | 1998. július 1. [1] |
Hardver platform | x86 |
legújabb verzió | 5.4.2 (2021. április 11. ) |
Olvasható fájlformátumok | MinGW Developer Studio Project [d] |
Generált fájlformátumok | MinGW Developer Studio Project [d] |
Engedély | GNU GPL |
Weboldal | osdn.net/projects/mingw/ |
A MinGW ( Minimalist GNU for Windows ) , korábban mingw32 , szoftverfejlesztő eszközök készlete Windows -alkalmazások létrehozására [2] . Tartalmaz egy fordítót , a GNU Compiler Collection (GCC) natív Windows- portját, valamint egy sor szabadon terjeszthető importkönyvtárat és fejlécfájlt a Windows API -hoz . A MinGW a Microsoft Visual C++ Runtime Library bővítményeit tartalmazza a C99 [2] funkcióinak támogatása érdekében . Támogatja a C++11 szabványt.
A MinGW eredeti neve mingw32; a számokat aztán eldobták, hogy legyőzzék azt a tévhitet, miszerint a MinGW 32 bites rendszerekre korlátozódik [3] . Az első kiadás, amelyet Colin Peters készített 1998 -ban , csak a Cygwin GCC portját tartalmazta [4] [5] . A GCC első natív Windows-portját Jan-Jaap van der Heijden hozta létre, Heijden binutils és make [4] [5] . Később Mumit Khan is hozzájárult a fejlesztéshez, még több Windows-specifikus funkcióval bővítve a készletet, köztük Anders Norlander által írt Win32 fejlécfájlokat [4] [5] . 2000-ben a projektet áthelyezték a SourceForge.net oldalra , hogy nagyobb állami támogatást szerezzenek és centralizálják a fejlesztést [4] [5] .
2005 szeptemberében a MinGW-t a SourceForge.net oldalon a hónap projektjének választották [5] .
A MinGW projekt számos különböző alapvető összetevőt és kiegészítő csomagot tart karban és terjeszt, beleértve a GNU eszközlánc különböző portjait, mint például a GCC és a binutils , amelyeket egyenértékű csomagokká fordítanak [3] [6] . Ezek a segédprogramok a Windows parancssorából vagy az IDE -be integrálva használhatók .
Ezenkívül az MSYS ( Minimal SYStem ) néven ismert MinGW komponens win32 portokat biztosít egy könnyű Unix-szerű shell -környezethez , amely tartalmazza az rxvt -t és az autoconf parancsfájlok futtatásához elegendő POSIX - eszközkészletet [7] .
A Win32 fejlécfájlok és a Win32 importkönyvtárak megvalósításai a futásidejű linkelés elejétől a végéig engedélyezettek [8] , és a GNU portok a GNU General Public License alatt állnak rendelkezésre . A teljes MSYS csomag és az egyes MinGW GNU segédprogramok bináris buildjei letölthetők a MinGW webhelyéről.
MinGW elágazás a Cygwin 1.3.3-tól. Míg a Cygwin és a MinGW egyaránt a Unix szoftverek Windowsra történő portolására szolgál, más megközelítést alkalmaznak [9] : a Cygwin célja, hogy teljes POSIX réteget biztosítson (hasonlóan a Linuxon és más Unix rendszereken találhatóhoz) a Windows felett, feláldozva a teljesítményt. kompatibilitáshoz szükséges. Ennek megfelelően ez a megközelítés megköveteli, hogy a Cygwin-nel írt Win32-programok egy copyleft kompatibilitási könyvtáron futjanak, amelyet a programmal, valamint a program forráskódjával együtt kell terjeszteni. A MinGW célja, hogy natív funkcionalitást és teljesítményt biztosítson közvetlen Windows API-hívásokon keresztül. A Cygwin-nel ellentétben a MinGW-nek nincs szüksége kompatibilitási DLL -re, így a programokat nem szükséges forráskóddal terjeszteni.
Mivel a MinGW Win32 API -hívásokat használ , nem tudja biztosítani a teljes POSIX API-t; nem tud lefordítani bizonyos Unix alkalmazásokat, amelyek a Cygwin segítségével fordíthatók. Ez különösen azokra az alkalmazásokra vonatkozik, amelyek POSIX funkciókat igényelnek, mint például a fork(), az mmap() vagy az ioctl() [9] , és várhatóan POSIX környezetben futnak. A többplatformos könyvtárak használatával írt alkalmazások, mint például az SDL , wxWidgets , Qt vagy GTK+ , általában könnyebben fordíthatók MinGW-ben, mint Cygwinben.
A MinGW és MSYS kombinációja kicsi, független környezetet biztosít, amely cserélhető adathordozóról indítható anélkül, hogy bejegyzéseket kellene hozzáadnia a rendszerleíró fájlokhoz. A Cygwin bár több funkcionalitást biztosít, nehezebb telepíteni és karbantartani.
Lehetőség van Windows - alkalmazások keresztfordítására is a MinGW-GCC-vel a POSIX család operációs rendszerei alatt . Ez azt jelenti, hogy a fejlesztőnek nem kell telepítenie a Windows-t MSYS -sel, hogy olyan programokat fordíthasson, amelyek Cygwin nélkül futnak Windows alatt .
Mivel az eredeti MinGW projekt nem ígérte a kódbázis frissítését a Win32 API néhány új kulcselemével, valamint a 64 bites architektúra legszükségesebb támogatásával, létrejött a MinGW-w64 projekt . Ez a GNU Compiler Collection (GCC) új tiszta portja a Microsoft Windows rendszerhez , amelyet eredetileg a OneVision valósított meg, és 2008-ban [10] adták ki nyilvánosan ( Public Domain ). Először az eredeti MinGW projekttel való integráció megfontolására javasolták, de nem szabad vagy védett kód használatának gyanúja miatt elutasították. A MinGW szerzőinek hozzáállásával kapcsolatos számos komoly etikai ok [11] miatt a MinGW-w64 kód vezető fejlesztői úgy döntöttek, hogy többé nem kísérelnek meg együttműködni a MinGW projekttel.
A MinGW-w64 a Win32 API [12] teljesebb megvalósítását biztosítja, beleértve: