MinGW: Porovnání verzí

Smazaný obsah Přidaný obsah
Bez shrnutí editace
Bez shrnutí editace
Řádek 31:
 
== Srovnání s Cygwinem ==
MinGW byl odvozen od od Cygwynu 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, poskytijíc tak kompatibilitu za cenu určitého početního výkonu. Proto tento postup vyžaduje, aby programy pro Win32 napsané v Cygwinu běželi 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řez volání Windows API. Na rozdíl od Cygwinu, programi 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(), mmap(), nebo ioctl()<ref name="differencesCygwinMinGW">http://www.mingw.org/node/21</ref> a nebo očekává běh uvnitř POSIXového prostředí. Aplikace napsané pomocí cross-platform knihoven, která byla portována do MinGW, jako [[Simple DirectMedia Layer|SDL]], [[wxWidgets]], [[Qt (toolkit)|Qt]], nebo [[GTK+]] se obvykle kompilují bezproblémově jak na MinGW tak v Cygwinu.