Compilateur C pour Windows? [fermé]

125

Je travaille bien sur Linux en utilisant gcc comme compilateur C mais j'aimerais une solution Windows. Des idées? J'ai regardé Dev-C ++ de Bloodshed mais je cherche plus d'options.

mario64
la source
Découvrez le sous-système Windows pour Linux introduit en 2017. Cela vous permet d'exécuter des outils Linux natifs comme gcc directement sur Windows. Voir: docs.microsoft.com/en-us/windows/wsl/install-win10 et howtogeek.com/249966/…
Evan Rosica

Réponses:

79

Vous pouvez utiliser GCC sous Windows en téléchargeant MingW ( abandonné ) ou son successeur Mingw-w64 .

Ben Hoffstein
la source
1
stackoverflow.com/questions/29205033/… - Mais l'utilisation de MinGW sous Windows ne résout pas les problèmes de gestion de LibVLC et de Gstreamer. En utilisant MinGW, les exécutables plantent. Y a-t-il une meilleure solution?
1
Bien que mingw soit un projet fantastique, cela ne me convenait pas lorsque je voulais compiler Windows exec. sous Linux.
Vijay Kumar Kanta
36

Vous pouvez obtenir Visual C ++ Express Edition directement auprès de Microsoft, si vous voulez quelque chose ciblant Win32. Sinon MinGW ou lcc, comme suggéré ailleurs.

Alex M
la source
3
Visual Studio est génial, mais s'ils utilisent linux / gcc en classe, ce n'est probablement pas la meilleure option.
Joel Coehoorn le
1
Le problème étant que C et C ++ sont des langages différents. Le code C ne fonctionne pas toujours en C ++.
tloach le
9
Je crois que Visual C ++ a également un compilateur en mode C.
Alex M le
4
Stroustrup le clarifie ici: public.research.att.com/~bs/bs_faq.html#C-is-subset Je pense que le pire est le décalage sizeof () pour les caractères et les entiers, plus les mots-clés ajoutés en C ++.
Alex M du
17
Comme @Richard l'a dit dans les commentaires: VC ++ manque de fonctionnalités C99.
jfs
23

GCC est omniprésent. Il est apprécié et bien compris par des milliers de personnes dans des dizaines de communautés.

Visual Studio est peut-être le meilleur IDE jamais développé. Il a un excellent compilateur en dessous. Mais c'est strictement Windows uniquement.

Si vous ne faites que jouer, obtenez GCC - c'est gratuit. Si vous êtes préoccupé par plusieurs plates-formes, c'est GCC. Si vous parlez de développement Windows sérieux, procurez-vous Visual Studio.

Kevin Little
la source
Il y a maintenant Visual Studio Codequi est multiplateforme, avec plus ou moins les mêmes fonctionnalités.
Dr_Zaszuś
19

Vous pouvez toujours utiliser simplement gcc via cygwin.

UnkwnTech
la source
13
Cela lie votre application à la DLL Cygwin, ce qui est vraiment irritant, à mon avis.
Alex M du
Je suis d'accord, mais si l'application a un programme d'installation, on peut regrouper la dll.
UnkwnTech
13
Utilisez l'option --mno-cygwin lors de la compilation sous cygwin. Cela permet de compiler les binaires MinGW; aucune DLL Cygwin nécessaire.
Colin
5
-mno-cygwinn'est plus pris en charge - installez plutôt les packages de compilateur croisé MinGW appropriés pour votre plate-forme
Christoph
17

Il existe un autre compilateur C gratuit pour Windows: Pelles C.

Pelles C est un kit de développement complet pour Windows et Windows Mobile. Il contient entre autres un compilateur d'optimisation C, un assembleur de macros, un éditeur de liens, un compilateur de ressources, un compilateur de messages, un utilitaire de création et des générateurs d'installation pour Windows et Windows Mobile. Il contient également un environnement de développement intégré (IDE) avec gestion de projet, débogueur, éditeur de code source et éditeurs de ressources pour les dialogues, menus, tables de chaînes, tables d'accélérateur, bitmaps, icônes, curseurs, curseurs animés, vidéos d'animation (AVI sans son), versions et manifestes XP.

URL: http://www.smorgasbordet.com/pellesc/

Hideo
la source
12

J'ai personnellement cherché à utiliser MinGW (ce que Bloodshed utilise) avec l' IDE Code Blocks .

J'envisage également d'utiliser le compilateur Digital Mars C / C ++ .

Les deux semblent bien considérés.

Philip Tinney
la source
Digital Mars C / C ++ existe depuis un certain temps et fonctionne bien. Cependant, vous rencontrerez des problèmes de liaison pour les bibliothèques car il utilise un format de fichier objet pas si courant. Si vous pouvez obtenir du code source, ce n'est pas vraiment un problème. De plus, je ne les ai jamais utilisés, mais il existe des outils de conversion de format de fichier.
BCS
8

Vous pouvez essayer Code :: Blocks , qui est un meilleur IDE et est livré avec MinGW GCC! Je l'ai utilisé et c'est juste trop bon un IDE freeware pour C / C ++.

yogeesh
la source
@zeboidlund, et quelle est la version post winxp?
Pacerier
8

GCC n'est pas techniquement un compilateur spécifique à Linux. C'est un compilateur c / c ++ conforme aux normes, et je l'utilise quotidiennement pour les programmes Windows. Il est probablement préférable que vous l'utilisiez jusqu'à ce que vous soyez plus à l'aise avec autre chose.

Je vous recommande d'utiliser la distribution MinGW de GCC. Cela compilera vos programmes nativement pour Windows, en utilisant une bibliothèque standard, etc.

Si vous recherchez un IDE, j'ai deux recommandations. Visual Studio est la version Microsoft, et bien qu'il ait ses problèmes, c'est un excellent IDE pour travailler avec le code. Cependant, si vous recherchez quelque chose d'un peu plus léger, CodeBlocks est également plutôt bon et présente l'avantage supplémentaire de pouvoir utiliser pratiquement n'importe quel compilateur que vous avez installé (y compris plusieurs formes de GCC et le compilateur Microsoft fourni avec Visual Studio) et être en mesure d'ouvrir des fichiers de projet à partir d'autres IDE. De plus, il fonctionne également sous Linux, vous pouvez donc rendre cette transition encore plus facile pour vous-même.

Personnellement, je préfère GCC, mais ce n'est que moi. Si vous voulez vraiment la solution Microsoft, VS est la solution.

Nicolas Flynt
la source
7

MinGW serait une traduction directe de gcc pour Windows, ou vous pourriez vouloir vérifier LCC , vanilla c (plus ou moins) avec un IDE. Pelles C semble être basé sur lcc et a un IDE un peu plus agréable, même si je ne l'ai pas utilisé personnellement. Bien sûr, il y a toujours l' édition Express de MSVC qui est gratuite, mais c'est votre choix.

mjard
la source
6

La plupart des universités vous donnent accès à Microsoft Dreamspark .

Si vous utilisez GCC / Linux en classe, installez simplement Ubuntu . Windows est une plate-forme terrible pour le développement C.

Matt Joiner
la source
16
Windows est une plate-forme terrible pour tout développement. Correction de ça pour toi.
notbad.jpeg
4
C'est la meilleure option pour Visual Basic, vous ne pouvez pas le nier!
rlms
1
@sweeneyrod: Pour être juste, utiliser VB pour développer des applications pour Wine serait plutôt bien.
Matt Joiner
Le problème avec quelque chose accessible par l'université est qu'après la fin du cours, vous n'avez aucun moyen de mettre en œuvre les compétences que vous avez travaillé si dur pour acquérir.
richard1941
@ richard1941: Ce n'est pas l'intention à l'université d'appliquer à l'industrie exactement les technologies que vous avez apprises en classe.
Matt Joiner
5

Veillez à utiliser un compilateur C, pas C ++ si vous faites réellement du C. Bien que la plupart des programmes en C fonctionnent avec un compilateur C ++, il existe suffisamment de différences pour qu'il y ait des problèmes. Je suis d'accord avec les personnes qui suggèrent d'utiliser gcc via cygwin.

ÉDITER:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B montre quelques-unes des principales différences

tloach
la source
Pouvez-vous donner des détails sur «suffisamment de différences»?
Marquez le
2
Tout compilateur C ++ compilera également C - généralement le mode du compilateur sera automatiquement sélectionné en fonction de l'extension de nom de fichier, mais chaque compilateur a également une option pour forcer le mode C ou C ++ quel que soit le nom de fichier.
Michael Burr
3

GCC fonctionne très bien. Notez que MSVC n'est pas nécessairement une solution valide car il ne prend pas en charge C99.

Shikari sombre
la source
6
-1, GCC ne prend pas en charge C99 non plus.
Bastien Léonard
4
Ce n'est pas trop mal: gcc.gnu.org/c99status.html
aib
3

Je suis en retard à cette fête, mais pour tous les futurs utilisateurs de C sous Windows, Visual Studio cible C90 au lieu de C99, ce que vous obtiendriez sur * nix. Je cible actuellement C99 sur Windows en utilisant Sublime Text 2 en tandem avec Cygwin.

John Ruiz
la source
1

Visual C ++ Express est un IDE fin et gratuit pour Windows qui est livré avec un compilateur.

Si vous êtes plus à l'aise avec les solutions de ligne de commande en général et gcc en particulier, MinGW ou Cygwin pourraient vous convenir davantage. Ils sont également tous les deux gratuits.

Hank
la source
1

Il y a eu quelques commentaires soulignant que C n'est pas C ++. Bien que cela soit vrai, il est également vrai que tout compilateur C ++ compilera également C - généralement le mode du compilateur sera automatiquement sélectionné en fonction de l'extension de nom de fichier, mais chaque compilateur a également une option pour forcer le mode C ou C ++ quel que soit le nom de fichier.

Alors, choisissez le compilateur C ++ gratuit avec lequel vous êtes le plus à l'aise avec gcc, VC ++ Express, Digital Mars, peu importe. Utilisez l'IDE que vous préférez emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed - encore une fois.

Chacun de ces outils sera plus que suffisant pour l'apprentissage. Personnellement, puisque vous posez des questions sur Windows, je choisirais VC ++ Express - c'est un excellent IDE, c'est gratuit, et il compilera très bien les programmes C.

Michael Burr
la source
1
Parlant d'expérience: VC est un horrible compilateur C. Tout ce qui existe de moderne a pris du retard dans VC. Pour C ++ c'est super ... pour C, c'est horrible.
zeboidlund
0

Cela dépend de ce que vous utilisez en classe.

Si les laboratoires et les affectations sont sous Linux, vous souhaitez probablement une solution MinGW. S'ils sont dans Windows, obtenez Visual Studio Express.

Joël Coehoorn
la source
0

Ne pouvez-vous pas obtenir une version gratuite de Visual Studio Student Addition de votre école? La plupart des universités ont des programmes pour offrir des logiciels gratuits aux étudiants.

Charles Graham
la source
1
Non, il a raison. Il existe un programme spécial appelé "Dream Spark", non pas que je soutiendrais une chose aussi sournoise de Microsoft.
Matt Joiner
0

Vous voulez dire le Dev-C ++ de Bloodshed? C'est un joli IDE visuel pour C ++ qui utilise gcc de MinGW pour Windows comme compilateur d'arrière-plan. Le projet a été abandonné pendant un certain temps (à mon avis, utiliser Delphi pour développer un IDE C ++ est une chose très stupide à faire pour attirer l'attention des développeurs), mais rien ne vous empêche de l'utiliser et de mettre à jour la version du gcc de MinGW it utilise le dernier - en plus de sa licence GPL.

Joe Pineda
la source
0

J'utilise DEV C ++, CygWin ou Visual C ++ Express de BloodShed. Tous sont gratuits et fonctionnent bien. J'ai trouvé que pour moi, DEV C ++ fonctionnait le mieux et était le moins excentrique. Chaque compilateur a ses propres bizarreries et différences, vous devez en essayer quelques-unes et trouver celle avec laquelle vous êtes le plus à l'aise. J'ai également aimé le fait que DEV C ++ m'ait permis de changer les polices utilisées dans l'éditeur. J'aime les polices Proggy Programming!

Michael Brown
la source
-1

Les compilateurs Windows C ++ doivent fonctionner.

Consultez également MinGW .

nsanders
la source
6
C! = C ++. Il existe des différences telles que tout le code C ne sera même pas compilé en C ++.
tloach le