MinGW: Porovnání verzí

Smazaný obsah Přidaný obsah
Mity (diskuse | příspěvky)
m překlepy a formulace
Řádek 19:
 
== Historie ==
MinGW byl původně nazván mingw32; čísla byla odstraněna aby se zamezlozamezilo důsledkuinterpretacím, že bude omezen na 32-bitové systémy.<ref name="FAQ-What">[http://mingw.org/mingwfaq.shtml What is MinGW?]</ref> Colin Peters autorizoval první vydání v 1998, které obsahovalo pouze port [[GNU Compiler Collection|GCC]] na [[Cygwin]].<ref name="history">[http://mingw.org/history MinGW - History<!-- Bot generated title -->]</ref><ref name="potm"/> Jan-Jaap van der Heijden vytvořil port GCC pro Windows, přidal GNU Binutils a soubor [[make]].<ref name="history"/><ref name="potm"/> 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.<ref name="history"/><ref name="potm"/> V roce 2000 byl projekt přestěhován na [[SourceForge.net]], aby tak vyzval komunitu ke spolupráci a usměrnil vývoj.<ref name="history"/><ref name="potm"/>
 
MinGW bylo vyhlášeno projektem měsíce na stránkách [[SourceForge.net]] v září 2005.<ref name="potm">[http://sourceforge.net/potm/potm-2005-09.php SourceForge Project of the Month]</ref>
Řádek 26:
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|GNU toolchainů]], jako např. [[GNU Compiler Collection|GCC]] a GNU Binutils, přeložených do ekvivalentních balíků.<ref name="MinGWComponents">[http://sourceforge.net/project/showfiles.php?group_id=2435 MinGW Components]</ref><ref name="FAQ-What">[http://mingw.org/mingwfaq.shtml#faq-what What is MinGW?]</ref> Tyto utility mohou být využívány z [[Příkazový řádek|příkazové řádky]] Windows nebo integrovány do [[IDE]]. MinGW umožňuje pojmenovávání knihoven podle konvencí <code>jméno.lib</code> a </code>jméno.dll</code> a také s formou <code>lib&lt;name&gt;.a</code> používanou na [[UN*X|unixových]] systémech.
 
Komponenta MinGW známá jako '''MSYS''' (''Minimal SYStem'') navíc nabízí portováníport odlehčeného prostředí [[UN*X|unixového]] [[Příkazový řádek|příkazového řádku]] do Win32, včetně [[rxvt]] a některých [[POSIX|POSIXových]] utilit, které umožňují běh [[automatická konfigurace|autokonfiguračních]] skriptů.<ref name="msys-what">[http://mingw.org/node/18 What is MSYS?]</ref><ref name="msys">[http://www.mingw.org/msys.shtml MinGW - Minimal SYStem]</ref>
 
Implementace hlavičkových souborů Win32 a knihoven pro likovánílinkování za běhu jsou vydány pod [[permissive license]],<ref name="w32api">http://www.mingw.org/license</ref> 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.3.<ref name="history"/> 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:<ref name="differencesCygwinMinGW">http://www.mingw.org/node/21</ref> Cygwin se zaměřuje na poskytnutí kompletní vrstvy [[Posix|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 [[Knihovna (programování)|DLL]].
 
MinGW nemůže poskytnout plnohodnotné [[Posix|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. Konkrétně se to týká aplikací, které potřebují fukcionalitufunkcionalitu POSIXU jako [[fork (systémové volání)|fork()]], mmap(), nebo ioctl()<ref name="differencesCygwinMinGW" /> a nebo očekávají běh uvnitř POSIXového prostředí. Aplikace napsané pomocí cross-platform knihoven portovaných do MinGW, jako [[Simple DirectMedia Layer|SDL]], [[wxWidgets]], [[Qt (knihovna)|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 Cygwyn nabízí více funkcionality, je složitější z hlediska instalace a údržby.