MinGW: Porovnání verzí

Smazaný obsah Přidaný obsah
m Portálové šablony dle doporučení (s pomocí dat od Dannyho B.)
Řádek 31:
 
== Srovnání s Cygwinem ==
MinGW byl odvozen od CygwynuCygwinu 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í fukcionalitu 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.