Une explication simple de ce qu'est MinGW
Je suis un passionné de Python utilisateur et il semble que j'ai besoin de MinGW pour être installé sur ma machine Windows pour compiler quelques bibliothèques. Je suis un peu confus au sujet de MinGW et de la GCC. Voici ma question (à partir d'un vrai mannequin point de vue):
Si Python est un langage qui à la fois interprété et compilé. Il y a Linux et Windows implémentations de Python que l'on installe simplement et utilisé le binaire à exécuter son code. Ils sont livrés avec un tas de bibliothèques intégrées que vous pouvez utiliser. Il en va de même avec Ruby à partir de ce que j'ai lu.
Maintenant, j'ai fait un tout petit peu de C et je sais que l'on a une de le compiler. Il a intégré dans les bibliothèques qui semblent être appelés fichiers d'en-tête que vous pouvez utiliser. Maintenant, de retour dans la journée d'école, de C, était l'écriture de code dans un vi-comme IDE appelé Turbo-C et puis en appuyant sur F9 pour compiler. C'est à peu près où mon C de fin de scolarité.
Qu'est-ce que MinGW et qu'est-ce que GCC? J'ai principalement travaillé sur des systèmes Windows et ont même récemment commencé à utiliser Cygwin. Ne sont-ils pas les mêmes?
Une explication simple de frapper ces domaines serait utile.
(Toutes mes excuses si ce post peut sembler stupide/stupide. Je pensais que je voudrais poser ici. En ignorant ces bits n'a jamais fait de quiconque un meilleur programmeur.)
Merci à tous.
- Avez-vous lu la page d'accueil sur www.mingw.org? Est-il répondre à toutes vos questions pour vous, ou de soulever de nouvelles, d'autres, plus spécifiques? Vous pouvez aussi lire quelques informations préliminaires sur la façon dont les compilateurs/compilé les langues de travail.
Vous devez vous connecter pour publier un commentaire.
MinGW est une boîte à outil complète GCC (y compris une demi-douzaine d'interfaces, tels que C, C++, Ada, Allez, et autres joyeusetés) pour la plateforme Windows qui compile et des liens vers le système d'exploitation Windows composant la Bibliothèque d'Exécution C dans msvcrt.dll. Plutôt qu'il essaie d'être minimale (d'où le nom).
Cela signifie, autres que Cygwin, MinGW ne pas tenter d'apporter une offre complète de POSIX couche sur le dessus de Windows, mais d'un autre côté, il ne vous demandera pas de lien avec une bibliothèque de compatibilité.
Il a donc également ne pas ont toute licence GPL implications pour les programmes que vous écrivez (exception notable: le profilage des bibliothèques, mais vous aurez normalement pas de distribuer ceux donc qui n'a pas d'importance).
Le plus récent MinGW-w64 est livré avec près de 99% complète de Windows API de liaison (à l'exclusion des ATL et tel) y compris la prise en charge x64 et le groupe expérimental, les implémentations. Parfois, vous pouvez trouver quelques exotiques constante non définie, mais pour ce que 99% des gens utilisent des 99% du temps, il fonctionne parfaitement bien.
Vous pouvez également utiliser la plus grande partie de ce qui est dans POSIX, tant qu'il est mis en œuvre dans une certaine forme sous Windows. L'une des principales POSIX chose qui ne fonctionne pas avec MinGW est
fork
, tout simplement parce que il n'y a pas une telle chose sous Windows (Cygwin passe par beaucoup de peine à le mettre en œuvre).Il y a quelques autres choses mineures, mais dans l'ensemble, la plupart des choses genre de travail de toute façon.
Donc, dans un très très simplifié phrase: MinGW-w64) est un "no-frills compilateur thingie" qui vous permet d'écrire natif exécutables binaires pour Windows, non seulement dans le C et le C++, mais aussi d'autres langues.
-w64
fourche de MinGW et pourquoi sont-ils si malencontreusement choisi de l'appeler "w64"?Pour compiler un programme C vous avez besoin d'un C mise en œuvre pour votre ordinateur.
Des implémentations C se composent, pour l'essentiel, d'un compilateur (son preprocesser et en-têtes) et une bibliothèque (le ready-made code exécutable).
Sur un ordinateur avec Windows installé, la bibliothèque qui contient la plupart des ready-made de code exécutable n'est pas compatible avec
gcc
compilateur ... donc pour utiliser ce compilateur dans Windows, vous avez besoin d'une autre bibliothèque: c'est là oùMinGW
entre.MinGW
prévoit, entre autres choses, la bibliothèque(s) nécessaire à la fabrication d'un C mise en œuvre en collaboration avecgcc
.La bibliothèque Windows et MSVC, ensemble, une mise en œuvre différente.
MinGW est une implémentation de la plupart de la GNU bâtiment de services publics, comme gcc et de faire sur windows, alors que gcc n'est que le compilateur. Cygwin est beaucoup plus grand et sophistiqué, qui s'installe beaucoup plus de MinGW.
MinGW est une suite d'outils de développement qui contient GCC (entre autres), et GCC est un compilateur C au sein de la suite.
La seule raison de l'existence de MinGW est de fournir linux comme environnement pour développeurs de ne pas capable d'utiliser le natif de windows outils. Il est inférieur à presque tous les égards pour Microsoft tooolchains sur Win32/Win64 plates-formes, MAIS il fournit un environnement où linux développeur n'a pas à apprendre quelque chose de nouveau ET il/elle peut compiler le code linux presque sans modifications. C'est une conception discutable , mais beaucoup de gens trouvent que la commodité de plus en plus important que les autres aspects du développement .
Il n'a rien à voir avec le C ou le C++ comme il a été indiqué dans les réponses précédentes, il a tout à voir avec l'environnement développeur veut. Argument à propos de GNU toolchains sur windows et ses nessessety, c'est juste que - un argument
GCC - unix/linux compilateur,
MinGW - rapprochement de GCC sous environnement Windows,
Compilateur de Microsoft et Intel compilateur - plus de la même comme le nom l'indique(à la fois de produire beaucoup , beaucoup mieux de programmes sur Windows, puis MinGW, btw)