MinGW: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Bez shrnutí editace
TXiKiBoT (diskuse | příspěvky)
m robot přidal: en:MinGW
Řádek 61: Řádek 61:
[[de:MinGW]]
[[de:MinGW]]
[[el:MinGW]]
[[el:MinGW]]
[[en:MinGW]]
[[es:MinGW]]
[[es:MinGW]]
[[fr:MinGW]]
[[fr:MinGW]]
[[ko:MinGW]]
[[it:MinGW]]
[[it:MinGW]]
[[nl:MinGW]]
[[ja:MinGW]]
[[ja:MinGW]]
[[ko:MinGW]]
[[nl:MinGW]]
[[pl:MinGW]]
[[pl:MinGW]]
[[pt:MinGW]]
[[pt:MinGW]]

Verze z 22. 4. 2010, 23:09

Šablona:Infobox Software

MinGW (Minimalist GNU for Windows), dříve mingw32, je portace softwaru původního GNU Compiler Collection (GCC) na platformu Microsoft Windows, spolu s množinou volně šiřitelných hlavičkových souborů pro Windows API. MinGW umožňuje vývojářům vytvářet aplikace původem pro Microsoft Windows.[1] Součástí MinGW jsou rozšíření pro běhovou knihovnu Microsoft Visual C++ pro podporu C99.[1]

Převažující vlastností MinGW (která nemusí být zpočátku jasná Open Source uživatelům) je, že nevyužívá GNU libc (knihivna jazyka C), ale snaží se přímo využívat MS C Runtime Library (MSVCRT). Tudíš se snaží být co nejvíce přirozený oproti Cygwinu. Pro jazyky jiné než C, MinGW využívá GNU knihovny (např. GNU libstdc++ pro C++).

Historie

MinGW byl původně nazván mingw32; čísla byla odstraněna aby se zamezlo důsledku, že bude omezen na 32-bitové systémy.[2] Colin Peters autorizoval první vydání v 1998, které obsahovalo pouze port GCC na Cygwin.[3][4] Jan-Jaap van der Heijden vytvořil port GCC pro Windows, přidal binutility a make.[3][4] Později vývoj převzal Mumit Khan a přidal do balíku vlastnosti specifické pro windows, včetně Win32 hlaviček od Anderse Norlandera.[3][4] V roce 2000 byl projekt přestěhován na SourceForge.net, aby přilákal spolupráci komunity a usměrnil její vývoj.[3][4]

MinGW bylo vyhlášeno projektem měsíce na stránkách SourceForge.net pro září 2005.[4]

Komponenty MinGW

Projekt MinGW spravuje a distribuuje několik různých jaderních komponent a doplňkových balíků, včetně řady portů GNU toolchainů, jako např. GCC a binutility, přeložených do ekvivalentních balíků.[5][2] 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 v souladu s "<jméno>.lib" a "<jméno>.dll" konvencemi, spolu s běžnou "lib<name>.a" konvencí používané na *nix systémech.

In addition, a component of MinGW known as MSYS (Minimal SYStem) provides win32 ports of a lightweight Unix-like shell environment including rxvt and a selection of POSIX tools sufficient to enable autoconf scripts to run.[6][7]

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

Srovnání s Cygwinem

MinGW se oddělil od Cygwynu verze 1.3.3[3]. 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[9]: Cygwin se zaměřuje na poskytnutí kompletní vrstvy POSIX (podobné té v Linuxu nebo jiných Unixových systémech) na vrchu Windows, obětujíce výkon za kompatibilitu. Proto tento postup vyžaduje, aby Win32 programy napsané v Cygwinu běželi nad copyleft kompatibilní knihovnou, která musí být distribuovaná se zdrojovým kódem programu. MinGW se zaměřuje na poskytnutí přirozené funkcionality a výkonu přímo přez volání Windows API. Oproti Cygwinu, MinGW nepotřebuje kompatibilní vrstvu DLL a tak programy nemusí být distribuovány se zdrojovým kódem.

Protože MinGW využívá volání Win32-API, nemůže poskytnout plnohodnotné POSIX API; není tak možné kompilovat některé Unixové aplikace, které mohou být kompilovány s Cygwinem. Konkrétně se to týká aplikací, které potřebují fukcionalitu POSIXU jako fork(), mmap(), nebo ioctl()[9] a tu která očekává běh uvnitř POSIXového prostředí. Aplikace napsané užitím cross-platform knihovny, která byla portována do MinGW, jako SDL, wxWidgets, Qt, nebo GTK+ se obvykle kompilují bezproblémově na MinGW obdobně jako by se kompilovali v Cygwinu.

Kombinace MinGW a MSYS poskytuje malé, nezávyslé prostředí, které může být načteno na odjímatelné médium bez zanéchání údajů v registrech nebo souborech v počítači. Cygwyn je složitější z hlediska instalace a údržby, kvůli poskytnutí více funkcionality.

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.

Související články

Reference

V tomto článku byl použit překlad textu z článku MinGW na anglické Wikipedii (číslo revize nebylo určeno)Šablona {{Překlad}} požaduje zadat hodnotu do parametru „revize“!.

Externí odkazy