MSYS e sistemi di compilazione simili a UNIX; perché esiste il Mingw? Quello che voglio dire è, perché Win32/64 non è solo un altro obiettivo disponibile in "Vanilla GCC"? Ci sono motivi tecnici per questo o sono "politici"? Sembrerebbe che non ci sia nulla di speciale nella piattaforma Windows che possa rendere una porta GCC "incompatibile" con il GCC originale.Perché esiste il Mingw?
risposta
Mingw non sono solo i compilatori, ma anche le librerie e le intestazioni (e qualsiasi altro file di supporto che potrebbe essere necessario).
GCC è solo un compilatore. Mingw è un ambiente completo.
GCC è una raccolta di compilatori. – PetrosB
Vero, ma il punto rimane ancora. –
Questo significa che ho potuto scaricare il sorgente di GCC, compilo un compilatore mira Win32/64 e compilare il codice con esso (tranne che non ci sono librerie e header)? –
beh, anche se è possibile utilizzare il cross-compilatore per produrre codici binari win32/64 da GCC, qualcuno deve comunque trasferire tutte le librerie di runtime C. Sia Mingw che Cygwin sono creati per questo scopo.
MingW ha lo scopo di consentire un facile porting delle app Posix a Windows. È semplicemente uno strato "più sottile" rispetto a CygWin, quindi non tutto potrebbe funzionare dove Windows è troppo diverso. CygWin consente di fornire abbastanza isolamento che anche gli strumenti di scripting per creare e generare il codice di esecuzione.
Modifica: Microsoft è molto appassionato di fare i propri standard e vuole mettere il proprio marchio su cose per le quali esistono già standard aperti. Ad esempio OpenGL -> DirectX, Java -> .net, OpenCL è lo standard successivo che vogliono respingere. Ciò li rende un po 'dolorosi per il progetto non sponsorizzato di supportarli come target. Hanno sempre voltato le spalle a tutto ciò che consente un facile sviluppo multipiattaforma, perché vogliono solo che tu sviluppi la tua app per quel SO. È una strategia di marketing, controlla il marchio, controlla la piattaforma e rende doloroso per le persone supportare altri sistemi operativi. MingW è richiesto perché GCC può generare codice x86, ma anche il supporto di base più runtime è diverso dai sistemi operativi basati su Posix.
-1: Ranting .... –
Dal sito principale di MinGW
Disponibile in formato pacchetto binario di facile installazione, per la distribuzione nativa su MS-Windows o user-installato dal codice sorgente, per l'utilizzo cross-ospitato su Unix o GNU/Linux, il suite sfrutta le DLL di sistema standard di Microsoft per fornire C-Runtime e API Windows.
- 1. Perché MinGW è molto lento?
- 2. Esiste un programma di installazione MinGW offline?
- 3. Esiste un sistema di gestione dei pacchetti per MinGW + MSYS?
- 4. std :: stoi non esiste in g ++ 4.6.1 su MinGW
- 5. __uint128_t on mingw gcc
- 6. Perché ptr_fun (tolower) non si compila in mingw?
- 7. Perché MinGW non compare nell'elenco di Eclipse/Indigo CDT Toolchains?
- 8. Perché CreateFileMapping restituisce "il file esiste già"?
- 9. OpenGL + Mesa 3D + MinGW
- 10. Funzionalità C++ 11 con MinGW
- 11. wWinmain, Unicode e Mingw
- 12. MinGW e std :: thread
- 13. MinGW non produce avvisi
- 14. MinGW Link Single EXE
- 15. strerror con MinGW-W64
- 16. Perché esiste eval()?
- 17. Perché esiste Console.Out.WriteLine?
- 18. Perché -0 esiste?
- 19. mingw-4.8.1 questione atomica
- 20. MinGW/CxxTest errori bizzarri
- 21. mingw 3.4.5 mancante dlfcn.h?
- 22. Boost Binaries per MinGW
- 23. MinGW supporta MFC?
- 24. Come si compila il codice Python 3.5 con Mingw?
- 25. Il programma non può iniziare perché * .dll manca - MinGW, Eclipse, Windows 7
- 26. Come creare il protobuf di Google in Windows usando MinGW?
- 27. Come si esegue MinGW con uno script?
- 28. Quando utilizzare Cygwin o MinGW per compilare il codice C?
- 29. MinGW compile per MS DOS
- 30. MinGW "make" inizia molto lentamente
Che domanda molto esista. Forse è per questo che tutti quei filosofi che cenano sono sempre in giro. – NoMoreZealots