MinGW

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

MinGW je prostředí pro vývoj softwaru v prostředí operačního systému Microsoft Windows. Je postaveno na kompileru GCC (GNU Compiler Collection) a obsahuje knihovny a nástroje potřebné pro kompilaci a vývoj aplikací. MinGW je založen na myšlence poskytnout uživatelům možnost vytvářet nativní verze softwaru pro Windows bez nutnosti používat kompletní vývojové prostředí Visual Studio. MinGW je svobodný a otevřený software distribuovaný za licencí GPL (GNU General Public License). Je navržen tak, aby byl lehký a snadno použitelný pro vývojáře softwaru na platformě Windows. Poskytuje také sadu předkompilovaných knihoven, které usnadňují tvorbu a kompilaci aplikací. MinGW je oblíbeným nástrojem mezi vývojáři softwaru, kteří chtějí vytvářet aplikace pro Windows s otevřeným zdrojovým kódem.

MinGW (dříve mingw32, Minimalist GNU for Windows) je v informatice kompilátor GCC a GNU binutils, kterými je možné vytvořit nativní aplikace pro platformu Microsoft Windows (buď přímo ve Windows nebo jako křížový překladač, čímž usnadňuje portování). Obsahuje množinu volně šiřitelných hlavičkových souborů pro Windows API. Součástí MinGW jsou rozšíření pro běhovou knihovnu Microsoft Visual C++ pro podporu C99.

Hlavní vlastností MinGW (která nemusí být Open Source uživatelům zpočátku jasná) je, že nevyužívá standardní knihovnu GNU libc, ale snaží se využívat přímo knihovnu MS C Runtime Library (MSVCRT). Výsledkem jsou tedy nativní programy (na rozdíl od projektu Cygwin). +more Pro jazyky jiné než C používá MinGW GNU knihovny (např. GNU libstdc++ pro C++).

Historie

MinGW byl původně nazván mingw32; čísla byla odstraněna aby se zamezilo interpretacím, že bude omezen na 32bitové systémy. Colin Peters autorizoval první vydání v 1998, které obsahovalo pouze port GCC na Cygwin. +more Jan-Jaap van der Heijden vytvořil port GCC pro Windows, přidal GNU Binutils a soubor make. Později vývoj převzal Mumit Khan a přidal do balíku vlastnosti specifické pro Windows, včetně hlaviček Win32 od Anderse Norlandera. V roce 2000 byl projekt přestěhován na SourceForge, aby tak vyzval komunitu ke spolupráci a usměrnil vývoj.

MinGW bylo vyhlášeno projektem měsíce na stránkách SourceForge v září 2005.

Komponenty MinGW

Projekt MinGW spravuje a distribuuje několik různých jádrových komponent a doplňkových balíků, včetně řady portů GNU toolchainů, jako např. GCC a GNU Binutils, přeložených do ekvivalentních balíků. +more Tyto utility mohou být využívány z příkazové řádky Windows nebo integrovány do IDE. MinGW umožňuje pojmenovávání knihoven podle konvencí jméno. lib a jméno. dll a také s formou lib<name>. a používanou na unixových systémech.

Komponenta MinGW známá jako MSYS (Minimal SYStem) navíc nabízí port odlehčeného prostředí unixového příkazového řádku do Win32, včetně rxvt a některých POSIXových utilit, které umožňují běh autokonfiguračních skriptů.

Implementace hlavičkových souborů Win32 a knihoven pro linkování za běhu jsou vydány pod permissive license, zatímco porty GNU jsou k dispozici pod GNU General Public License. Na stránkách MinGW jsou k dispozici ke stažení binární soubory kompletního MSYS balíku a individuálních MinGW GNU utilit.

Srovnání s Cygwinem

MinGW byl odvozen od Cygwinu verze 1. 3. +more3. Přestože jak Cygwin tak MinGW mohou být použity k portaci Unix software na Windows, využívají k tomu odlišné postupy: Cygwin se zaměřuje na poskytnutí kompletní vrstvy POSIX (podobné té v Linuxu nebo jiných Unixových systémech) běžící nad aplikační vrstvou Windows, poskytujíc tak kompatibilitu za cenu určitého snížení výpočetního výkonu. Proto tento postup vyžaduje, aby programy pro Win32 napsané v Cygwinu běžely nad kompatibilní knihovnou, která musí být distribuovaná se zdrojovým kódem programu pod copyleft licencí. MinGW se zaměřuje na poskytnutí nativní funkcionality a výkonu přímo přes volání Windows API. Na rozdíl od Cygwinu, programy přeložené pomocí MinGW nemusí být distribuovány se zdrojovýcm kódem, protože MinGW nepotřebuje kompatibilní vrstvu DLL.

MinGW nemůže poskytnout plnohodnotné POSIX API, protože využívá volání Win32-API. Proto s ním není možné kompilovat některé Unixové aplikace, které mohou být kompilovány s Cygwinem. +more Konkrétně se to týká aplikací, které potřebují funkcionalitu POSIXU jako fork, mmap, nebo ioctl a nebo očekávají běh uvnitř POSIXového prostředí. Aplikace napsané pomocí cross-platform knihoven portovaných do MinGW, jako SDL, wxWidgets, Qt, nebo GTK+ se obvykle kompilují bezproblémově jak na MinGW tak v Cygwinu.

Kombinace MinGW a MSYS poskytuje malé, nezávislé prostředí, které může být načteno z vyjímatelného média (USB flash disk) bez zanechání údajů v registrech nebo souborech v počítači. Protože Cygwin nabízí více funkcionality, je složitější z hlediska instalace a údržby. +more Cygwin navíc ve své DLL knihovně emulující POSIXovou vrstvu používá nedokumentované funkce Windows. Tím vzniká obava ze stability jak CygWin, tak Windows, a také je důvodem značného odmítání CygWin mnoha vývojáři.

Navíc je možné křížově kompilovat Windows aplikace pomocí MinGW-GCC na POSIX systémech. To znamená, že vývojáři nepotřebují instalaci Windows s MSYS pro kompilaci softwaru, který poběží na Windowsu bez Cygwinu.

Reference

Externí odkazy

[url=http://www. mingw. +moreorg/]Official website[/url] * [url=http://mingw-w64. sourceforge. net/]MinGW-w64 - GCC for Win64[/url] * [url=http://tdragon. net/recentgcc/]Unofficial TDM-MinGW GCC 4. 4 builds[/url] * [url=https://web. archive. org/web/20100121122543/http://gordon-taft. net/SciencePack. html]Comprehensive MinGW Package with installer[/url] * [url=http://sourceforge. net/projects/lunac/files/]MinGW GCC 4. 4 C/C++ Compiler package with installer[/url].

Kategorie:Svobodný software

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top