2009-08-17 13 views
12

MSYS i systemy podobne do UNIX-owych; dlaczego istnieje Mingw? Chodzi mi o to, dlaczego nie jest win32/64 tylko kolejny cel dostępny w "wanilii GCC"? Czy istnieją ku temu względy techniczne, czy są one "polityczne"? Wydaje mi się, że nie ma nic szczególnego w platformie Windows, która spowodowałaby, że port GCC byłby "niekompatybilny" z oryginalnym GCC.Dlaczego istnieje Mingw?

+0

Co za bardzo ekscentryczne pytanie. Być może dlatego wszyscy ci restauratorzy filozofowie zawsze się mylą. – NoMoreZealots

Odpowiedz

7

Mingw to nie tylko kompilatory - to także biblioteki i nagłówki (oraz wszelkie inne pliki pomocnicze, których możesz potrzebować).

GCC to tylko kompilator. Mingw to pełne środowisko.

+1

GCC to zbiór kompilatorów. – PetrosB

+5

To prawda, ale punkt wciąż pozostaje. –

+0

Czy to oznacza, że ​​mogę pobrać źródło GCC, skompilować kompilator kierujący na win32/64 i skompilować z nim kod (z wyjątkiem tego, że nie ma żadnych bibliotek i nagłówków)? –

2

cóż, podczas gdy można używać kompilatora krzyżowego do produkcji kodów binarnych Win32/64 z GCC, ktoś musi portować wszystkie biblioteki uruchomieniowe C przez chociaż. Zarówno Mingw, jak i Cygwin są stworzone do tego celu.

3

MingW ma na celu umożliwienie łatwego przenoszenia aplikacji Posix na okna. Jest to po prostu "cieńsza" warstwa niż CygWin, więc nie wszystko może działać tam, gdzie okna są zbyt różne. CygWin pozwala zapewnić wystarczającą izolację, która umożliwia nawet tworzenie skryptów i generowanie kodu.

Edycja: Firma Microsoft bardzo lubi tworzyć własne standardy i chce umieścić własną markę na produktach, dla których istnieją już otwarte standardy. tj. OpenGL -> DirectX, Java -> .net, OpenCL to kolejny standard, który chcą odrzucić. To sprawia, że ​​dla projektu nie sponsorowanego są dla nich trudnym wsparciem dla nich. Zawsze odwracali się od wszystkiego, co pozwala na łatwe tworzenie platform, ponieważ chcą tylko, abyś rozwijał swoją aplikację dla tego systemu operacyjnego. Jest to strategia marketingowa, kontroluje markę, kontroluje platformę i sprawia, że ​​bolesne jest wspieranie innych systemów operacyjnych. MingW jest wymagany, ponieważ GCC może generować kod x86, ale nawet najbardziej podstawowa obsługa środowiska wykonawczego jest inna niż systemy oparte na Posix.

+0

-1: Ranting .... –

0

Od strony głównej MinGW za

Oferowane w łatwo zainstalowane binarnego formatu pakietu, na rodzimym rozmieszczenia na MS Windows lub użytkownik zbudowany ze źródeł, do cross-gospodarzem stosowania na Unix lub GNU/Linux, suite wykorzystuje standardowe systemowe biblioteki DLL firmy Microsoft, aby zapewnić C-Runtime i Windows API.