C-Compiler für Windows? [geschlossen]

124

Ich arbeite gut unter Linux mit gcc als C-Compiler, möchte aber eine Windows-Lösung. Irgendwelche Ideen? Ich habe mir Dev-C ++ von Bloodshed angesehen, aber nach weiteren Optionen gesucht.

mario64
quelle
Schauen Sie sich das 2017 eingeführte Windows-Subsystem für Linux an. Auf diese Weise können Sie native Linux-Tools wie gcc direkt unter Windows ausführen. Siehe: docs.microsoft.com/en-us/windows/wsl/install-win10 und howtogeek.com/249966/…
Evan Rosica

Antworten:

79

Sie können GCC unter Windows verwenden, indem Sie MingW (nicht mehr verfügbar ) oder dessen Nachfolger Mingw-w64 herunterladen .

Ben Hoffstein
quelle
1
stackoverflow.com/questions/29205033/… - Die Verwendung von MinGW unter Windows löst jedoch nicht die Probleme bei der Handhabung von LibVLC und Gstreamer. Durch die Verwendung von MinGW stürzen die ausführbaren Dateien ab. Gibt es eine bessere Lösung?
1
Obwohl mingw ein fantastisches Projekt ist, hat es mir nicht gepasst, als ich Windows Exec kompilieren wollte. unter Linux.
Vijay Kumar Kanta
36

Sie können Visual C ++ Express Edition direkt von Microsoft erhalten, wenn Sie etwas für Win32 wünschen. Ansonsten MinGW oder lcc, wie an anderer Stelle vorgeschlagen.

Alex M.
quelle
3
Visual Studio ist großartig, aber wenn sie im Unterricht Linux / gcc verwenden, ist es wahrscheinlich nicht die beste Option.
Joel Coehoorn
1
Das Problem ist, dass C und C ++ verschiedene Sprachen sind. C-Code funktioniert in C ++ nicht immer.
Tloach
9
Ich glaube, dass Visual C ++ auch einen C-Mode-Compiler hat.
Alex M
4
Stroustrup verdeutlicht dies hier: public.research.att.com/~bs/bs_faq.html#C-is-subset Ich denke, das Schlimmste ist die Größe von () Nichtübereinstimmungen für Zeichen und Ints sowie die hinzugefügten Schlüsselwörter in C ++.
Alex M
17
Wie @Richard in den Kommentaren sagte: VC ++ fehlen C99-Funktionen.
JFS
24

GCC ist allgegenwärtig. Es wird von Tausenden von Menschen in Dutzenden von Gemeinden als vertrauenswürdig und gut verstanden angesehen.

Visual Studio ist vielleicht die beste IDE, die jemals entwickelt wurde. Darunter befindet sich ein großartiger Compiler. Es ist jedoch ausschließlich Windows.

Wenn Sie nur spielen, erhalten Sie GCC - es ist kostenlos. Wenn Sie sich Sorgen über mehrere Plattformen machen, ist dies GCC. Wenn Sie über ernsthafte Windows-Entwicklung sprechen, holen Sie sich Visual Studio.

Kevin Little
quelle
Es gibt jetzt eine Visual Studio Codeplattformübergreifende, mit mehr oder weniger der gleichen Funktionalität.
Dr_Zaszuś
19

Sie können gcc immer nur über cygwin verwenden.

UnkwnTech
quelle
13
Dies bindet Ihre App an die Cygwin-DLL, was meiner Meinung nach sehr irritierend ist.
Alex M
Ich stimme zu, aber wenn die Anwendung ein Installationsprogramm hat, kann man die DLL bündeln.
UnkwnTech
13
Verwenden Sie die Option --mno-cygwin, wenn Sie unter cygwin kompilieren. Dadurch werden MinGW-Binärdateien kompiliert. Keine Cygwin DLL erforderlich.
Colin
5
-mno-cygwinwird nicht mehr unterstützt - installieren Sie stattdessen die für Ihre Plattform geeigneten MinGW-Cross-Compiler-Pakete
Christoph
17

Es gibt einen weiteren kostenlosen C-Compiler für Windows: Pelles C.

Pelles C ist ein komplettes Entwicklungskit für Windows und Windows Mobile. Es enthält unter anderem einen optimierenden C-Compiler, einen Makro-Assembler, einen Linker, einen Ressourcen-Compiler, einen Nachrichten-Compiler, ein make-Dienstprogramm und Installations-Builder für Windows und Windows Mobile. Es enthält auch eine integrierte Entwicklungsumgebung (IDE) mit Projektmanagement, Debugger, Quellcode-Editor und Ressourcen-Editoren für Dialoge, Menüs, Zeichenfolgentabellen, Beschleunigertabellen, Bitmaps, Symbole, Cursor, animierte Cursor, Animationsvideos (AVIs ohne Sound). Versionen und XP-Manifeste.

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

Hideo
quelle
12

Ich persönlich habe versucht, MinGW (was Bloodshed verwendet) mit der Code Blocks IDE zu verwenden .

Ich denke auch darüber nach, den Digital Mars C / C ++ - Compiler zu verwenden.

Beide scheinen gut angesehen zu sein.

Philip Tinney
quelle
Digital Mars C / C ++ gibt es schon seit einiger Zeit und es funktioniert gut. Sie werden jedoch auf Verknüpfungsprobleme für Bibliotheken stoßen, da diese ein nicht so allgemeines Objektdateiformat verwenden. Wenn Sie Quellcode erhalten können, ist das kein so großes Problem. Ich habe sie auch nie benutzt, aber es gibt Tools zum Konvertieren von Dateiformaten.
BCS
8

Sie können Code :: Blocks ausprobieren , eine bessere IDE, die mit MinGW GCC geliefert wird! Ich habe es benutzt und es ist einfach eine zu gute Freeware-IDE für C / C ++.

yogeesh
quelle
@zeboidlund, Und was ist die Post-WinXP-Version?
Pacerier
8

GCC ist technisch gesehen kein Linux-spezifischer Compiler. Es ist ein standardkonformer C / C ++ - Compiler und ich verwende ihn täglich für Windows-Programme. Es ist wahrscheinlich am besten, wenn Sie es verwenden, bis Sie sich mit etwas anderem vertraut gemacht haben.

Ich empfehle Ihnen, die MinGW-Distribution von GCC zu verwenden. Dadurch werden Ihre Programme nativ für Windows kompiliert, wobei eine Standardbibliothek usw. verwendet wird.

Wenn Sie nach einer IDE suchen, habe ich zwei Empfehlungen. Visual Studio ist die Microsoft-Version, und obwohl es Probleme gibt, ist es eine ausgezeichnete IDE für die Arbeit mit dem Code. Wenn Sie jedoch etwas Leichteres suchen, ist CodeBlocks auch ziemlich gut und hat den zusätzlichen Vorteil, dass Sie grundsätzlich jeden von Ihnen installierten Compiler verwenden können (einschließlich verschiedener Formen von GCC und des mit Visual gelieferten Microsoft Compilers) Studio) und in der Lage sein, Projektdateien für andere IDEs zu öffnen. Außerdem läuft es auch unter Linux, sodass Sie diesen Übergang für sich selbst noch einfacher gestalten können.

Ich persönlich bevorzuge GCC, aber das bin nur ich. Wenn Sie die Microsoft-Lösung wirklich wollen, ist VS der richtige Weg.

Nicholas Flynt
quelle
7

MinGW wäre eine direkte Übersetzung von gcc für Windows, oder Sie möchten LCC , Vanilla C (mehr oder weniger) mit einer IDE ausprobieren. Pelles C scheint auf lcc zu basieren und hat eine etwas schönere IDE, obwohl ich sie nicht persönlich benutzt habe. Natürlich gibt es immer die kostenlose Express Edition von MSVC, aber das ist Ihr Anruf.

mjard
quelle
6

Die meisten Universitäten bieten Ihnen Zugriff auf Microsoft Dreamspark .

Wenn Sie GCC / Linux im Unterricht verwenden, installieren Sie einfach Ubuntu . Windows ist eine schreckliche Plattform für die C-Entwicklung.

Matt Joiner
quelle
16
Windows ist eine schreckliche Plattform für alle Entwicklungen. Das für dich behoben.
notbad.jpeg
4
Es ist die beste Option für Visual Basic, das können Sie nicht leugnen!
rlms
1
@sweeneyrod: Um fair zu sein, wäre es ziemlich gut, VB zur Entwicklung von Apps für Wine zu verwenden.
Matt Joiner
Das Problem mit etwas, auf das über die Universität zugegriffen werden kann, ist, dass Sie nach dem Ende des Unterrichts keine Möglichkeit haben, die Fähigkeiten, an denen Sie so hart gearbeitet haben, anzuwenden.
richard1941
@ richard1941: Es ist nicht die Absicht der Universität, genau die Technologien, die Sie im Unterricht gelernt haben, auf die Industrie anzuwenden.
Matt Joiner
5

Achten Sie darauf, einen C-Compiler zu verwenden, nicht C ++, wenn Sie tatsächlich C ausführen. Während die meisten Programme in C mit einem C ++ - Compiler funktionieren, gibt es genügend Unterschiede, die Probleme verursachen können. Ich würde den Leuten zustimmen, die vorschlagen, gcc über Cygwin zu verwenden.

BEARBEITEN:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B zeigt einige der Hauptunterschiede

tloach
quelle
Können Sie Einzelheiten zu "genügend Unterschieden" erläutern?
Mark
2
Jeder C ++ - Compiler kompiliert auch C - normalerweise wird der Compilermodus automatisch basierend auf der Dateinamenerweiterung ausgewählt, aber jeder Compiler hat auch die Option, den C- oder C ++ - Modus unabhängig vom Dateinamen zu erzwingen.
Michael Burr
3

GCC funktioniert gut. Beachten Sie, dass MSVC nicht unbedingt eine gültige Lösung ist, da es C99 nicht unterstützt.

Dunkler Shikari
quelle
6
-1, GCC unterstützt C99 auch nicht.
Bastien Léonard
4
Es ist nicht schlecht: gcc.gnu.org/c99status.html
aib
3

Ich bin zu spät zu dieser Party, aber für zukünftige C-Leute unter Windows zielt Visual Studio auf C90 anstatt auf C99 ab, was Sie auf * nix bekommen würden. Ich ziele derzeit auf C99 unter Windows ab, indem ich Sublime Text 2 zusammen mit Cygwin verwende.

John Ruiz
quelle
1

Es gab einige Kommentare, die darauf hinwiesen, dass C nicht C ++ ist. Das stimmt zwar, aber auch, dass jeder C ++ - Compiler auch C kompiliert - normalerweise wird der Compilermodus automatisch basierend auf der Dateinamenerweiterung ausgewählt, aber jeder Compiler hat auch die Option, den C- oder C ++ - Modus unabhängig vom Dateinamen zu erzwingen.

Wählen Sie also den kostenlosen C ++ - Compiler, der mit gcc, VC ++ Express, Digital Mars usw. am besten vertraut ist. Verwenden Sie die IDE, die Ihnen am besten gefällt: Emacs, Vim, VC ++ Express, Code :: Blocks, Bloodshed - wieder was auch immer.

Jedes dieser Tools ist für das Lernen mehr als ausreichend. Persönlich, da Sie nach Windows fragen, würde ich VC ++ Express wählen - es ist eine großartige IDE, es ist kostenlos und es wird C-Programme gut kompilieren.

Michael Burr
quelle
1
Apropos Erfahrung: VC ist ein schrecklicher C-Compiler. Alles, was modern ist, ist in VC zurückgefallen. Für C ++ ist es großartig ... für C ist es schrecklich.
Zeboidlund
0

Visual C ++ Express ist eine gute und kostenlose IDE für Windows, die mit einem Compiler geliefert wird.

Wenn Sie mit Befehlszeilenlösungen im Allgemeinen und gcc im Besonderen besser vertraut sind, sind MinGW oder Cygwin möglicherweise besser für Sie geeignet. Sie sind auch beide frei.

Strang
quelle
0

Es kommt darauf an, was Sie im Unterricht verwenden.

Wenn sich die Labore und die Aufgaben unter Linux befinden, möchten Sie wahrscheinlich eine MinGW-Lösung. Wenn sie sich in Windows befinden, holen Sie sich Visual Studio Express.

Joel Coehoorn
quelle
0

Können Sie von Ihrer Schule keine kostenlose Version von Visual Studio Student Addition erhalten? Die meisten Universitäten bieten Programme an, mit denen Studenten kostenlose Software erhalten.

Charles Graham
quelle
1
Nein, er hat recht. Es gibt ein spezielles Programm namens "Dream Spark", nicht dass ich so ein hinterhältiges Microsoft-Ding unterstützen würde.
Matt Joiner
0

Du meinst Bloodsheds Dev-C ++? Es ist eine schöne visuelle IDE für C ++, die MinGWs gcc für Windows als Back-the-Scenes-Compiler verwendet. Das Projekt wurde für eine Weile abgebrochen (meiner Meinung nach ist es sehr dumm , Delphi zum Entwickeln einer C ++ - IDE zu verwenden, um die Aufmerksamkeit der Entwickler auf sich zu ziehen), aber nichts hindert Sie daran, es zu verwenden und die Version von MinGWs gcc it zu aktualisieren verwendet auf die neueste - außerdem ist es GPL-lizenziert.

Joe Pineda
quelle
0

Ich verwende entweder DEV C ++, CygWin oder Visual C ++ Express von BloodShed. Alle sind kostenlos und funktionieren gut. Ich habe festgestellt, dass DEV C ++ für mich am besten funktioniert und am wenigsten eigenartig ist. Jeder Compiler hat seine eigenen Macken und Unterschiede. Sie müssen einige ausprobieren und die finden, mit der Sie sich am wohlsten fühlen. Mir hat auch gefallen, dass ich mit DEV C ++ die im Editor verwendeten Schriftarten ändern konnte. Ich mag Proggy Programming Schriftarten!

Michael Brown
quelle
-1

Muss Windows C ++ - Compiler funktionieren.

Schauen Sie sich auch MinGW an .

nsanders
quelle
6
C! = C ++. Es gibt Unterschiede, sodass nicht der gesamte C-Code in C ++ kompiliert werden kann.
Tloach