Compilatore C per Windows? [chiuso]


125

Sto bene lavorando su Linux usando gcc come compilatore C ma vorrei una soluzione Windows. Qualche idea? Ho esaminato Dev-C ++ da Bloodshed ma alla ricerca di più opzioni.


Dai un'occhiata al sottosistema Windows per Linux introdotto nel 2017. Questo ti consente di eseguire strumenti Linux nativi come gcc direttamente su Windows. Vedere: docs.microsoft.com/en-us/windows/wsl/install-win10 e howtogeek.com/249966/…
Evan Rosica

Risposte:


79

Puoi utilizzare GCC su Windows scaricando MingW ( fuori produzione ) o il suo successore Mingw-w64 .


1
stackoverflow.com/questions/29205033/… - Ma l'utilizzo di MinGW in Windows non risolve i problemi per gestire LibVLC e Gstreamer. Usando MinGW mandano in crash gli eseguibili. C'è una soluzione migliore?

1
Sebbene mingw sia un progetto fantastico, non mi andava bene quando volevo compilare Windows exec. in Linux.
Vijay Kumar Kanta

36

Puoi ottenere Visual C ++ Express Edition direttamente da Microsoft, se vuoi qualcosa che abbia come target Win32. Altrimenti MinGW o lcc, come suggerito altrove.


3
Visual Studio è fantastico, ma se usano linux / gcc in classe probabilmente non è l'opzione migliore.
Joel Coehoorn,

1
Il problema è che C e C ++ sono linguaggi diversi. Il codice C non funziona sempre in C ++.
tloach

9
Credo che Visual C ++ abbia anche un compilatore in modalità C.
Alex M

4
Stroustrup lo chiarisce qui: public.research.att.com/~bs/bs_faq.html#C-is-subset Penso che la parte peggiore sia la mancata corrispondenza di sizeof () per caratteri e int, più le parole chiave aggiunte in C ++.
Alex M

17
Come ha detto @Richard nei commenti: VC ++ manca delle funzionalità C99.
jfs

23

GCC è onnipresente. È considerato affidabile e ben compreso da migliaia di persone in dozzine di comunità.

Visual Studio è forse il miglior IDE mai sviluppato. Ha un ottimo compilatore sotto di esso. Ma è rigorosamente solo per Windows.

Se stai solo giocando, scarica GCC, è gratuito. Se sei preoccupato per più piattaforme, è GCC. Se stai parlando di sviluppo serio per Windows, scarica Visual Studio.


C'è ora Visual Studio Codeche è multipiattaforma, con più o meno le stesse funzionalità.
Dr_Zaszuś

19

Puoi sempre usare gcc tramite cygwin.


13
Questo lega la tua app alla DLL Cygwin, il che è davvero irritante, secondo me.
Alex M

Sono d'accordo, ma se l'applicazione ha un programma di installazione è possibile raggruppare il file dll.
UnkwnTech

13
Usa l'opzione --mno-cygwin quando compili sotto cygwin. Questo fa sì che compili i binari MinGW; nessuna DLL Cygwin necessaria.
Colin

5
-mno-cygwinnon è più supportato - installa invece i pacchetti cross-compiler MinGW appropriati per la tua piattaforma
Christoph

17

C'è un altro compilatore C gratuito per Windows: Pelles C.

Pelles C è un kit di sviluppo completo per Windows e Windows Mobile. Contiene tra le altre cose un compilatore C ottimizzato, un assemblatore di macro, un linker, un compilatore di risorse, un compilatore di messaggi, un'utilità make e install builder sia per Windows che per Windows Mobile. Contiene anche un ambiente di sviluppo integrato (IDE) con gestione del progetto, debugger, editor del codice sorgente e editor di risorse per finestre di dialogo, menu, tabelle di stringhe, tabelle di accelerazione, bitmap, icone, cursori, cursori animati, video di animazione (AVI senza audio), versioni e manifesti di XP.

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


12

Personalmente ho cercato di utilizzare MinGW (quello che usa Bloodshed) con l' IDE Code Blocks .

Sto anche considerando di utilizzare il compilatore C / C ++ di Digital Mars .

Entrambi sembrano essere ben considerati.


Digital Mars C / C ++ è in circolazione da un po 'di tempo e funziona bene. Tuttavia, ti imbatterai in problemi di collegamento per le librerie poiché utilizza un formato di file oggetto non così comune. Se riesci a ottenere il codice sorgente, non è un grosso problema. Inoltre, non li ho mai usati ma ci sono strumenti di conversione del formato di file.
BCS

8

Puoi provare Code :: Blocks , che è un IDE migliore e viene fornito con MinGW GCC! L'ho usato ed è un IDE freeware troppo buono per C / C ++.


@zeboidlund, e qual è la versione post winxp?
Pacerier

8

GCC non è tecnicamente un compilatore specifico per Linux. È un compilatore c / c ++ conforme agli standard e lo uso quotidianamente per i programmi Windows. Probabilmente è meglio che tu lo usi finché non ti senti più a tuo agio con qualcos'altro.

Ti consiglio di utilizzare la distribuzione MinGW di GCC. Questo compilerà i tuoi programmi in modo nativo per Windows, usando una libreria standard, ecc.

Se stai cercando un IDE, ho due consigli. Visual Studio è la versione Microsoft e, sebbene abbia i suoi problemi, è un ottimo IDE per lavorare con il codice. Tuttavia, se stai cercando qualcosa di un po 'più leggero, CodeBlocks è anche piuttosto buono e ha l'ulteriore vantaggio di poter utilizzare praticamente qualsiasi compilatore installato (comprese diverse forme di GCC e il compilatore Microsoft fornito con Visual Studio) e poter aprire file di progetto da altri IDE. Inoltre, funziona anche su Linux, quindi potresti rendere questa transizione ancora più semplice per te stesso.

Personalmente preferisco GCC, ma sono solo io. Se vuoi davvero la soluzione Microsoft, VS è la strada da percorrere.


7

MinGW sarebbe una traduzione diretta da gcc per Windows, oppure potresti voler controllare LCC , vanilla c (più o meno) con un IDE. Pelles C sembra essere basato su lcc e ha un IDE un po 'più carino, anche se non l'ho usato personalmente. Ovviamente c'è sempre l' edizione Express di MSVC che è gratuita, ma questa è la tua chiamata.


6

La maggior parte delle università ti dà accesso a Microsoft Dreamspark .

Se stai usando GCC / Linux in classe, installa Ubuntu . Windows è una piattaforma terribile per lo sviluppo in C.


16
Windows è una piattaforma terribile per tutto lo sviluppo. Risolto questo problema per te.
notbad.jpeg

4
È l'opzione migliore per Visual Basic, non puoi negarlo!
rlms

1
@sweeneyrod: Per essere onesti, usare VB per sviluppare app per Wine sarebbe abbastanza buono.
Matt Joiner

Il problema con qualcosa a cui si accede tramite l'università è che dopo che la lezione è finita, non hai modo di mettere in pratica le abilità che hai lavorato così duramente per acquisire.
richard1941

@ richard1941: Non è intenzione dell'università applicare all'industria esattamente quelle tecnologie che hai imparato in classe.
Matt Joiner

5

Fai attenzione a usare un compilatore C, non C ++ se stai effettivamente facendo C. Sebbene la maggior parte dei programmi in C funzionerà utilizzando un compilatore C ++, ci sono abbastanza differenze che possono esserci problemi. Sono d'accordo con le persone che suggeriscono di utilizzare gcc tramite cygwin.

MODIFICARE:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B mostra alcune delle principali differenze


Puoi approfondire le specifiche su "abbastanza differenze"?
Marco


2
Qualsiasi compilatore C ++ compilerà anche C - di solito la modalità compilatore verrà selezionata automaticamente in base all'estensione del nome del file, ma ogni compilatore ha anche un'opzione per forzare la modalità C o C ++ indipendentemente dal nome del file.
Michael Burr,



3

Sono in ritardo per questa festa, ma per tutti i futuri utenti di C su Windows, Visual Studio punta a C90 invece di C99, che è quello che otterresti su * nix. Attualmente sto prendendo di mira C99 su Windows utilizzando Sublime Text 2 in tandem con Cygwin.



1

Visual C ++ Express è un ottimo IDE gratuito per Windows fornito con un compilatore.

Se ti senti più a tuo agio con le soluzioni a riga di comando in generale e gcc in particolare, MinGW o Cygwin potrebbero essere più all'altezza. Sono anche entrambi gratuiti.


1

Ci sono stati alcuni commenti che sottolineano che C non è C ++. Sebbene sia vero, è anche vero che qualsiasi compilatore C ++ compilerà anche C - di solito la modalità del compilatore verrà selezionata automaticamente in base all'estensione del nome del file, ma ogni compilatore ha anche un'opzione per forzare la modalità C o C ++ indipendentemente dal nome del file.

Quindi scegli il compilatore C ++ gratuito che preferisci con gcc, VC ++ Express, Digital Mars, qualunque cosa. Usa l'IDE che ti piace di più emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed - di nuovo qualunque cosa.

Ognuno di questi strumenti sarà più che adeguato per l'apprendimento. Personalmente, dal momento che chiedi informazioni su Windows, sceglierei VC ++ Express: è un ottimo IDE, è gratuito e compilerà i programmi C perfettamente.


1
Parlando per esperienza: VC è un orribile compilatore C. Tutto ciò che di moderno esiste è rimasto indietro in VC. Per C ++ è fantastico ... per C, è orribile.
zeboidlund

0

Dipende da cosa usi in classe.

Se i laboratori e gli incarichi sono in Linux, probabilmente vorrai una soluzione MinGW. Se sono in Windows, scarica Visual Studio Express.


0

Non puoi ottenere una versione gratuita di Visual Studio Student Addition dalla tua scuola? La maggior parte delle università ha programmi per fornire software gratuito agli studenti.


1
No, ha ragione. C'è un programma speciale chiamato "Dream Spark", non che io possa supportare una cosa così subdola di Microsoft.
Matt Joiner

0

Intendi Dev-C ++ di Bloodshed? È un bel IDE visivo per C ++ che usa gcc di MinGW per Windows come compilatore dietro le quinte. Il progetto è stato abbandonato per un po '(secondo me, usare Delphi per sviluppare un IDE C ++ è una cosa molto stupida da fare per attirare l'attenzione degli sviluppatori), tuttavia non c'è nulla che ti impedisca di usarlo e aggiornare la versione di gcc di MinGW it utilizza l'ultimo, inoltre è dotato di licenza GPL.


0

Uso DEV C ++, CygWin o Visual C ++ Express di BloodShed. Sono tutti gratuiti e funzionano bene. Ho scoperto che per me DEV C ++ ha funzionato al meglio ed era il meno stravagante. Ogni compilatore ha le proprie peculiarità e differenze, è necessario provarne alcune e trovare quella con cui si è più a proprio agio. Mi è piaciuto anche il fatto che DEV C ++ mi abbia permesso di cambiare i caratteri usati nell'editor. Mi piacciono i caratteri Proggy Programming!


-1

Devono funzionare i compilatori Windows C ++.

Inoltre, controlla MinGW .


6
C! = C ++. Esistono differenze tali che non tutto il codice C verrà compilato in C ++.
tloach
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.