compiler für Windows?

daniel2000lu

Commodore Special
Mitglied seit
17.12.2004
Beiträge
402
Renomée
0
Standort
Luxembourg
Hallo,

Bin gerade dabei auf der Uni Programmieren in C zu lernen. Wie kann ich bei mir zu Hause die Programme testen? Auf der Uni arbeiten fir mit Linux und dem Konsole Terminal.
Was kann ich da bei Windows tun um meine Programme zu schreiben, zu compilieren und zu testen?
 
Gute Windows IDEs für C und C++ sind Visual Studio 2005 (gibt es als Express Version zum downloaden) und Code::Blocks (Opensource).

VS2005 kommt samt eigenem Compiler (VC++ 8.0), bei Code::Blocks gibt es den MinGW Compiler dazu.
Sind meine persönlichen Favoriten und was auch am meisten zur Zeit empfohlen wird.

DevC++ (Bloodshed) war einst eine gute IDE ist aber mittlerweile überholt und schon seit langem ein stillgelegtes Projekt. Einige mögen es jedoch immer noch, wegen der Einfachkeit besonders für sehr kleine Programme.
 
Zuletzt bearbeitet:
Sind ja mal komplett verschiedene Sachen, wenn er unter Linux evtl. in der Konsole seinen Quelltext schreibt und unter Windows jetzt eine fullbown IDE nutzen soll..

Ich plädiere für mingw und den gcc Port für Windows.
Wenn man ordentliche Software schreibt, ist sie auch 1:1 portierbar.
 
Wieso sollte er keine IDE benutzen, die ihm die unnötige Arbeit abnimmt und dafür noch sehr komfortables Arbeiten ermöglicht?
Wie man es ohne IDE übersetzt und linked scheint er schon gelernt zu haben, sein Ziel war es nur die Programme unter Windows zu testen.
Oder kurz gesagt, ich habe ledeglich diese Frage beantwortet: "Was kann ich da bei Windows tun um meine Programme zu schreiben, zu compilieren und zu testen?". 8)
 
nehm cygwin

Zum Einstieg in die Programmierung würde ich auch erstmal keine IDE benutzen.
 
also bis jetzt haben wir es so gehandhabt :

-das Programm im Texteditor geschrieben und als text.c abgepseichert.
-in der Linux Konsole mit dem Kommando gcc -o test test.c kompiliert und mit ./test das Programm ausgeführt... doch wie klappt dei bei windoof?
 
the same as
nur nehme ich
- mingw (den Pfad für den Compiler in Einstellungen -> System -> Umgebungsvariablen-> "PATH=**** hinzufügen) und mein Editor ist notepad++
Syntax bei mir ist in der Konsole(Dos-Box) auch sowas wie "gcc Programm.c" (oder ähnlich, lange nicht gemacht, war aber genauso einfach)
danach existiert im Verzeichnis eine a.exe, die man ausführen kann (ich mache alles mit a.exe bzw. a.out-> so umfangreich ist mein Zeug nicht)
- gcc und KWrite mit Debian

gefordert wird bei uns allerdings VisualStudio bei der Abgabe des Programms
da ist alles drin und kompilieren geht mit F5 bzw. strg+F5
 
Zuletzt bearbeitet:
Kann Visual C++ 2008 Express Edition auch mit C umgehen oder nur mit C++?
Glaub schon. (Ich würde mich sehr wundern wenn nicht)
Welches sind die besten C-Compiler (am besten freeware)?
GCC ist wohl recht gut (für Windows: siehe MinGW). Einer der Microsoft-Compiler ist angeblich inzwischen auch sehr gut - ich weiß nur dummerweise nicht mehr, ob das der C-Compiler war oder der für C++. Ansonsten wäre noch der Compiler von Intel zu nennen, aber der kostet einiges an Geld.
 
GCC ist wohl recht gut (für Windows: siehe MinGW).
Aber bitte die 4er Version nutzen. Davor ist C++ nicht soooo berauschend, mangels existierendem Standard.
Einer der Microsoft-Compiler ist angeblich inzwischen auch sehr gut - ich weiß nur dummerweise nicht mehr, ob das der C-Compiler war oder der für C++.
Vermutlich der C-Compiler. Bei C++ besteht das selbe Problem wie beim g++. Es gab lange Zeit keinen ordentlichen Standard. Des weiteren brät MS da zum Teil sein ganz eigenes Süppchen.

Ansonsten wäre noch der Compiler von Intel zu nennen, aber der kostet einiges an Geld.
Gibts den für private Zwecke nicht ebenso kostenlos wie unter Linux? *noahnung*
 
1.) Ob der GCC, Intel Compiler oder der von Microsoft jetzt 2 Promille schneller ist, das dürfte für einen Anfänger bzw. Hobbyprogrammierer vollkommen egal sein. Wichtig ist, dass man eine ordentliche Entwicklungsumgebung hat, sonst steckt man die Hälfte der Lernarbeit nur ins Schreiben von Code, Kompilieren und der Suche nach unauffindbaren Fehlern (schlimmster Fall wäre im vi Code erstellen und per Command Line übersetzen, dann ausführen mit Debug Ausgaben).

2.) C++ ist zu 99,9% abwärtskompatibel zu C. Die restlichen 0,1% sind nur Feinheiten im Standard, die für den Normalanwender ziemlich egal sein sollten. Man sollte nur aufpassen, wenn man etwas in der Hilfe liest und verwendet, dass das eventuell C++ Code ist, den es in C nicht gibt. Umgekehrt funktioniert es jedoch so gut wie immer (höchstens wenn man alle seine Variablen class, public etc. nennt). Da ist der Unterschied der Funktionen in Windows und Linux größer.

3.) Wenn man wirklich reinen C Code haben will, dann kann man das in den Optionen auch umstellen. In der Praxis würde ich es allerdings nicht machen, da MS auch sehr sinnvolle Dinge eingeführt hat in ihrem "Süppchen" z.B. die Bezeichnung __uint64 statt unsigned long long, was auch noch schwer plattformspezifisch ist.
 
1.) Ob der GCC, Intel Compiler oder der von Microsoft jetzt 2 Promille schneller ist, das dürfte für einen Anfänger bzw. Hobbyprogrammierer vollkommen egal sein.
Wer hat hier was von Geschwindigkeit gesagt?

Wichtig ist, dass man eine ordentliche Entwicklungsumgebung hat, sonst steckt man die Hälfte der Lernarbeit nur ins Schreiben von Code, Kompilieren und der Suche nach unauffindbaren Fehlern (schlimmster Fall wäre im vi Code erstellen und per Command Line übersetzen, dann ausführen mit Debug Ausgaben).
Das ist Quark. Wenn es darum geht, die Basics des Programmierens zu lernen, hindert eine umfangreiche IDE sogar. Die braucht man für große Projekte, um diese effizient zu verwalten, meist auch zwischen mehreren Leuten. Um die Grundlagen zu lernen, ist eine spartanische Umgebung deutlich besser geeignet.
(Davon abgesehen scheinst du vi nicht zu kennen.)

2.) C++ ist zu 99,9% abwärtskompatibel zu C. Die restlichen 0,1% sind nur Feinheiten im Standard, die für den Normalanwender ziemlich egal sein sollten. Man sollte nur aufpassen, wenn man etwas in der Hilfe liest und verwendet, dass das eventuell C++ Code ist, den es in C nicht gibt. Umgekehrt funktioniert es jedoch so gut wie immer (höchstens wenn man alle seine Variablen class, public etc. nennt).
Auch das stimmt so nicht. Die Anzahl an Schlüsselwörtern ist in C++ doch um einiges höher. Es gibt darüber hinaus einige Konstrukte, die in C erlaubt sind, in C++ hingegen nicht mehr. Vor allem in älteren C-Standards.

Da ist der Unterschied der Funktionen in Windows und Linux größer.
Das wiederum stimmt wohl.

3.) Wenn man wirklich reinen C Code haben will, dann kann man das in den Optionen auch umstellen. In der Praxis würde ich es allerdings nicht machen, da MS auch sehr sinnvolle Dinge eingeführt hat in ihrem "Süppchen" z.B. die Bezeichnung __uint64 statt unsigned long long, was auch noch schwer plattformspezifisch ist.
Damit lernt man aber kein C oder C++ sondern MSC oder MSC++. Das dürfte nicht unbedingt Ziel der Übung sein.
 
Ich würde sagen das man am besten mit einigen Konsolenprogrammen unter Linux mit dem GCC anfängt. Eine IDE wie VisualStudio oder Netbeans ist für den Anfang eh erstmal overkill. Viele gehen ja leider auch mit der Vorstellung heran das man ohne Aufwand ruckzuck grafische Anwendendungen (am besten noch in 3D) hinzaubern könnte... ;) Dann ist die Enttäuschung umso größer. Um sich selber das programmieren beizubringen braucht man schon verdammt viel Durchhaltevermögen.

Ich bin nun schon einige Jahre dabei und es gibt immernoch so unendlich viel zu lernen... :-[ Aber man kann ja nicht alles wissen..man muß nur wissen wo es steht. ;)
 
Zuletzt bearbeitet:
Ich empfehle da immer DevC++ von www.bloodshed.net

es bietet einfachstes Syntaxhighlighting, einen Compiler und man kann die Programme ausführen. Alles andere ist Bonus (erstmal).

Ich würde dir aber auch sonst empfehlen dich per SSH / Putty / WinSCP auf der Uni einzuloggen und das zu programmieren.


Ich hab selbst erst sehr spät angefangen mich mit Linux zu befassen bzw. mich lange lange geweigert. Jetzt programmiere ich fast ausschließlich nur noch unter Linux ;-)
 
Hallo,

Bin gerade dabei auf der Uni Programmieren in C zu lernen. Wie kann ich bei mir zu Hause die Programme testen? Auf der Uni arbeiten fir mit Linux und dem Konsole Terminal.
Was kann ich da bei Windows tun um meine Programme zu schreiben, zu compilieren und zu testen?

Mein Tip :

Linux installieren und loslegen, dann ggf. nach komfortablerer Linux-Software Ausschau halten, die dir das Leben einfach leichter macht *noahnung*
(muss ja nicht alles auf einer reinen Console stattfinden)
 
Vermutlich der C-Compiler. Bei C++ besteht das selbe Problem wie beim g++. Es gab lange Zeit keinen ordentlichen Standard. Des weiteren brät MS da zum Teil sein ganz eigenes Süppchen.

Eher der C++-Compiler, der C-Compiler ist noch auf dem C89/C90-Stand. Der C++-Compiler hingegen soll spätestens seit Version 8 (Visual C++ 2005) einer der standardkonformsten C++-Compiler überhaupt sein.
 
Soll das eine ernstgemeinte Frage sein?
Falls ja: ISO/IEC 14882 ("C++98") (Sicher nicht zu 100%, aber welcher aktuelle Compiler ist das schon?)

Ja, die war ernst gemeint. Denn genau das dachte ich mir, dass es 98 ist und 03 oder besser noch voraus reichend 09. Der 98er Standard ist alles andere als überwältigend, was auch der Grund dafür ist, dass zum Beispiel der g++ da ewig nicht sonderlich konform war. Deshalb auch mein Hinweis auf den 4er g++, weil der sich nämlich am kommenden 09er Standard orientiert.
 
Bin gerade dabei auf der Uni Programmieren in C zu lernen. Wie kann ich bei mir zu Hause die Programme testen?
Welche Programme? :-) gcc, gdb, ddd, make oder doch eher die eigenen in C geschriebenen?
Wie schon oben öfters erwähnt kannst du die "compiler toolchain" von linux mit cygwin oder mingw (oder auch native/virtualisiert auf einer linux machine testen).
Auf der Uni arbeiten fir mit Linux und dem Konsole Terminal.
Was kann ich da bei Windows tun um meine Programme zu schreiben, zu compilieren und zu testen?
Unter "Windows" hast du verschieden Möglichkeiten, je nachdem was du unter Windows verstehst ("Welche Version?"). Dem Terminal entspricht hier "command", "cmd", "%COMSPEC%".
"nativ" Windows Programme kannst du dann mit verschiedenen Compilern erstellen. Die meisten Windows Programme sind vermutlich mit den Microsoft-Compilern erstellt.
Die "compiler toolchain" von Microsoft beinhaltet als Hauptbestandteile, den C compiler (cl.exe), den Linker (link.exe) und das Make Pendant (nmake.exe).
Wie du diese am besten verwenden kannst liest du am besten hier Command Line (How Do I in Visual C++).
 
Für Windows würde ich devc++ www.bloodshed.net empfehlen. funzt auch 1a mit c.

Aber das findet auch keine segmentation faults.

für Linux: ubuntu hernehmen, einen editor deiner wahl (ich nehme kate, linux-jünger nehmen vi oder emacs und schreiben jetzt gleich den ganzen thread damit voll was besser ist.. mir isses wurscht) und im terminal mit g++ oder gcc compilieren.

zu empfehlen ist in jedem fall unter linux mit valgrind zu testen ob es seg faults oder speicherfehler gibt.
 
Zurück
Oben Unten