MinGW

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. március 30-án felülvizsgált verziótól ; az ellenőrzések 4 szerkesztést igényelnek .
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. ) ( 2021-04-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.

Történelem

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] .

MinGW Components

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.

Összehasonlítás Cygwinnel

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 .

MinGW-w64

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:

Jegyzetek

  1. Minimalista GNU Win32
  2. 1 2 SourceForge.net: MinGW - Minimalista GNU for Windows . Letöltve: 2009. július 5. Az eredetiből archiválva : 2009. július 1..
  3. 1 2 Mi az a MinGW? . Hozzáférés dátuma: 2009. július 5. Az eredetiből archiválva : 2008. november 21..
  4. 1 2 3 4 MinGW-történet . Letöltve: 2009. július 5. Az eredetiből archiválva : 2009. augusztus 14..
  5. 1 2 3 4 5 A hónap SourceForge projektje archiválva : 2007. augusztus 23.
  6. MinGW Components . Hozzáférés dátuma: 2009. július 5. Az eredetiből archiválva : 2009. június 29.
  7. MinGW - Minimális RENDSZER . Hozzáférés dátuma: 2009. július 5. Az eredetiből archiválva : 2009. január 5.
  8. Licencfeltételek | MinGW . Letöltve: 2009. július 5. Az eredetiből archiválva : 2009. augusztus 4..
  9. 1 2 Cygwin | MinGW . Hozzáférés dátuma: 2009. július 5. Az eredetiből archiválva : 2009. augusztus 28.
  10. A MinGW-w64 projekt története (downlink) . MinGW-w64 Wiki . Letöltve: 2013. május 30. Az eredetiből archiválva : 2013. augusztus 16.. 
  11. A mingwrt / w32api harmonizálása a mingw-w64-gyel (lefelé irányuló kapcsolat) . MinGW Levelezési lista . Letöltve: 2013. május 30. Az eredetiből archiválva : 2013. augusztus 16.. 
  12. http://mingw-w64.sourceforge.net/picker.php (downlink) . Letöltve: 2013. május 30. Az eredetiből archiválva : 2013. augusztus 16.. 

Lásd még

Linkek