Smazaný obsah Přidaný obsah
oprava citačního aparátu
m oprava
Řádek 6:
| velikost obrázku =
| alt =
| popisek = <!--(nepovinný)-->
| vývojář = MinGW Project
| aktuální verze = 4.5.0
| programovací jazyk = <!--(nepovinný)-->
| datum aktuální verze = [[19. duben|19. dubna]] [[2010]]
| operační systém = [[Microsoft Windows]]
Řádek 16:
| web = [http://www.mingw.org/ www.MinGW.org]
}}
'''MinGW''' (dříve '''mingw32''', '''Minimalist GNU for Windows''') je v [[Informatika|informatice]] kompilátor [[GNU Compiler Collection|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 [[Portace softwaru|portování]]).<ref name="MinGWSummaryPage">[http://sourceforge.net/projects/mingw/ SourceForge.net: MinGW - Minimalist GNU for Windows]</ref><ref>http://fedoraproject.org/wiki/SIGs/MinGW – MinGW ve [[Fedora]] Linuxu</ref> Obsahuje množinu volně šiřitelných [[Hlavičkový soubor|hlavičkových souborů]] pro [[Windows API]]. Součástí MinGW jsou rozšíření pro [[běhová knihovna|běhovou knihovnu]] [[Microsoft Visual Studio|Microsoft Visual C++]] pro podporu [[C99]].<ref name="MinGWSummaryPage" />
 
'''MinGW''' (dříve '''mingw32''', '''Minimalist GNU for Windows''') je v [[Informatika|informatice]] kompilátor [[GNU Compiler Collection|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 [[Portace softwaru|portování]]).<ref name="MinGWSummaryPage">[http://sourceforge.net/projects/mingw/ SourceForge.net: MinGW - Minimalist GNU for Windows]</ref><ref>http://fedoraproject.org/wiki/SIGs/MinGW – MinGW ve [[Fedora]] Linuxu</ref> Obsahuje množinu volně šiřitelných [[Hlavičkový soubor|hlavičkových souborů]] pro [[Windows API]]. Součástí MinGW jsou rozšíření pro [[běhová knihovna|běhovou knihovnu]] [[Microsoft Visual Studio|Microsoft Visual C++]] pro podporu [[C99]].<ref name="MinGWSummaryPage" />
 
Hlavní vlastností MinGW (která nemusí být Open Source uživatelům zpočátku jasná) je, že nevyužívá [[Standardní knihovna jazyka C|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]]). 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 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>
 
== 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|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">< /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í 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]]ový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 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í funkcionalitu 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.
Řádek 49 ⟶ 48:
 
== Reference ==
{{Překlad|en|MinGW|357697320}}
<references />
 
== Externí odkazy ==
* [http://www.mingw.org/ Official website]
* [http://mingw-w64.sourceforge.net/ MinGW-w64 - GCC for Win64]
* [http://tdragon.net/recentgcc/ Unofficial TDM-MinGW GCC 4.4 builds]
* [http://www.gordon-taft.net/SciencePack.html Comprehensive MinGW Package with installer]
* [http://sourceforge.net/projects/lunac/files/ MinGW GCC 4.4 C/C++ Compiler package with installer]
 
{{Portály|Svobodný software}}
{{Překlad|en|MinGW|357697320}}
 
{{Portály|Svobodný software}}
[[Kategorie:Svobodný software]]