Compiler
-
Hiho,
da ich mich entschlossen habe, nun C++ zu lernen, tun sich mir ein paar Fragen auf.
(Vorab: Sollte das hier der falsche Bereich dafür sein, bitte ich dies zu entschuldigen !)
-
Die Frage hat sich durch dieses Forum aufgetan : Wo ist der Unterschied zwischen Visual C++ und C++ ?
-
Welchen Editor+Compiler bzw. Linker nutzt ihr ?
-
Welche Bücher (kostenlos (LEGAL!!) als pdf) würdet ihr mir als Einstieg empfehlen ?
Schonmal vielen Dank für evtl. Antworten !
-
-
Visual C++ ist
a) Der Compiler mit IDE von Microsoft.
b) Der Sprachdialekt von MS.C++ ist
die Programmiersprache.Ich benutze Code::Blocks. Einem Anfänger würde ich vielleicht eher Visual C++ empfehlen.
Den C++-Primer gibt es glaub ich legal zum Download und der wird immer wieder als gutes Buch empfohlen.
edit: Ich glaube ich meinse Thinking in C++ und nicht den Primer.
-
volkard schrieb:
Den C++-Primer gibt es glaub ich legal zum Download und der wird immer wieder als gutes Buch empfohlen.
Ich glaube du meinst Thinking in C++. Der Primer ist soweit ich weiß nicht frei.
-
Schonmal danke für die Antworten.
Bzw. nein, das Buch C++ Primer gibt es nicht als legalen Download.
-
volkard schrieb:
Ich benutze Code::Blocks. Einem Anfänger würde ich vielleicht eher Visual C++ empfehlen.
Ich würds genau andersrum machen, Code::Blocks ist für Anfänger prima geeignet. Da kann man einzelne Quelldateien übersetzen und die Konsole schließt sich nicht automatisch am Ende. Und auf Deutsch kann mans auch umstellen, falls das ein Problem sein sollte (hier steht wie).
Bei den Büchern solltest Du nur kein "C++ von A bis Z" verwenden, das Buch ist schlecht.
Hier findest du eine Auswahl: Buchvorschläge
Nur kosten die eben Geld. Ein wirklich gutes, kostenloses Buch kenn ich jetzt nicht.Und wie gesagt, Code::Blocks ist (vor allem für Anfänger) sehr zu empfehlen: Download
Vergiss nicht die Version mit dem mingw zu nehmen.
-
Status schrieb:
... Bzw. nein, das Buch C++ Primer gibt es nicht als legalen Download.
Legal schon, aber nicht kostenlos.

http://ebooks.informit.de/c-primer.html
Legal, kostenlos und gut (jedenfalls war das das Lieblingsbuch von asc :), soweit ich weiß) :
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.htmlIncocnito schrieb:
...Ich würds genau andersrum machen, Code::Blocks ist für Anfänger prima geeignet. Da kann man einzelne Quelldateien übersetzen und die Konsole schließt sich nicht automatisch am Ende....
Das gilt ebenso für die IDE von Microsoft. Also, wenn du unter Windows entwickelts kommst du am Visual Studio doch kaum vorbei. Auch nicht als Anfänger. Dann bekommt man die Express Edition auch noch kostenlos. Da frag ich doch nicht mehr lange.

-
Incocnito schrieb:
volkard schrieb:
Ich benutze Code::Blocks. Einem Anfänger würde ich vielleicht eher Visual C++ empfehlen.
Ich würds genau andersrum machen, Code::Blocks ist für Anfänger prima geeignet. Da kann man einzelne Quelldateien übersetzen
Dafür gibt es keinen Anlaß.
Incocnito schrieb:
und die Konsole schließt sich nicht automatisch am Ende.
Bei MSVC auch nicht. Mußt halt mit Strg+F5 starten statt nur mit F5.
Allerdings muß man sehr aufpassen, daß man C++-Projekte anlegt und nicht C++/CLI-Projekte.
Sind die Compilerfehlermeldungen auch auf Deutsch?
Beim MSVC finde ich gut, daß man die Compilerfehlermeldung markieren kann und F1 drücken und man bekommt sie ganz ausführlich erläutert.
-
Ich find Code::Blocks nur besser, weil man da keine Projekte für alles anlegen muss, was man kurz testen möchte (oder lieg ich da falsch bei MSVC?).
Nein, die sind auf Englisch, aber mich stört das jetzt eigentlich nicht. Das macht es jetzt nicht wirklich komplizierter. Man bekommt sowieso oft die selben, und ich persönlich finde die Deutschen genauso kompliziert..
Ich denke, etwas wie "expected ';' before xxx token" versteht wohl noch jeder. Und wenns dann an schwierigere Dinge geht, sind die Meldungen auf Deutsch genauso kryptisch (wie gesagt, finde ich persönlich so).
Gut das ist ansichtssache..
EDIT: Moment, mir fällt gerade ein: beim neuesten g++ sind die Fehlermeldungen auf Deutsch! Er hat zwar einige Probleme mit Sonderzeichen, aber wen das nicht stört, der kann das benutzen

-
Ich kann auch Code::Blocks nur empfehlen. Ich benutz ihn sowohl bei Win als auch auf Linux und da er den GNU G++ compiler benutzt ist der code auch Plattformunabhängig. Der GNU G++ hat auch schon einige Sachen vom neuen C++0x Standards drin. Das kann man bei Code::Blocks auch einstellen das er das benutzen soll.
-
gamebuntu schrieb:
und da er den GNU G++ compiler benutzt ist der code auch Plattformunabhängig.
Den Zusammenhang zwischen verwendetem Compiler und Portabilität des Codes musst du mir jetzt aber erklären.
gamebuntu schrieb:
Der GNU G++ hat auch schon einige Sachen vom neuen C++0x Standards drin.
Der Microsoft-Compiler auch.
-
gamebuntu schrieb:
und da er den GNU G++ compiler benutzt ist der code auch Plattformunabhängig
Willst du also sagen, wenn er auf Windows was mit dem GNU G++ compiler kompiliert, dann läuft das Programm auf Linux???

Du kannst vll portablen Code schreiben, aber der Compiler hat damit absolut NULL zu tun, ob der Code portabel ist

Lg freeG
-
Nein ich mein das anders ist aber egal.
Is schon klar das win programme nich auf linux laufen.
-
gamebuntu schrieb:
Ich kann auch Code::Blocks nur empfehlen. Ich benutz ihn sowohl bei Win als auch auf Linux und da er den GNU G++ compiler benutzt ist der code auch Plattformunabhängig. Der GNU G++ hat auch schon einige Sachen vom neuen C++0x Standards drin. Das kann man bei Code::Blocks auch einstellen das er das benutzen soll.
CodeBlocks ist zumindest auf Mac zum kotzen

-
Nexus schrieb:
gamebuntu schrieb:
Der GNU G++ hat auch schon einige Sachen vom neuen C++0x Standards drin.
Der Microsoft-Compiler auch.
Das Bisschen zählt nicht

-
gamebuntu schrieb:
Nein ich mein das anders ist aber egal.
Is schon klar das win programme nich auf linux laufen.Ja erklär mal bitte wie du es meinst, würde es auch gern verstehen=)
Lg freeG
-
fr33g schrieb:
gamebuntu schrieb:
Nein ich mein das anders ist aber egal.
Is schon klar das win programme nich auf linux laufen.Ja erklär mal bitte wie du es meinst, würde es auch gern verstehen=)
Lg freeG
Ist doch logisch: Was mit dem GCC auf Windows kompiliert wird, wird (zumindest mal mit der gleichen GCC-Version, wenn man C++0x mit einbezieht) auf Linux auch kompiliert. Wobei es gegenüber dem MSVC++ bei C++03 keinen Unterschied geben sollte. Außerdem kommt man dann auf Linux mit der (annähernd) gleichen Bedienung klar (gleiche Kommandozeile).
-
wxSkip schrieb:
fr33g schrieb:
gamebuntu schrieb:
Nein ich mein das anders ist aber egal.
Is schon klar das win programme nich auf linux laufen.Ja erklär mal bitte wie du es meinst, würde es auch gern verstehen=)
Lg freeG
Ist doch logisch: Was mit dem GCC auf Windows kompiliert wird, wird (zumindest mal mit der gleichen GCC-Version, wenn man C++0x mit einbezieht) auf Linux auch kompiliert. Wobei es gegenüber dem MSVC++ bei C++03 keinen Unterschied geben sollte. Außerdem kommt man dann auf Linux mit der (annähernd) gleichen Bedienung klar (gleiche Kommandozeile).
Nur muß ich statt Sleep(100) jetzt usleep(100000) schreiben und andere Header benutzen.
-
Das musst du nicht nutzen :p
Aber im Prinzip hast du natürlich schon Recht.
-
wxSkip schrieb:
fr33g schrieb:
gamebuntu schrieb:
Nein ich mein das anders ist aber egal.
Is schon klar das win programme nich auf linux laufen.Ja erklär mal bitte wie du es meinst, würde es auch gern verstehen=)
Lg freeG
Ist doch logisch: Was mit dem GCC auf Windows kompiliert wird, wird (zumindest mal mit der gleichen GCC-Version, wenn man C++0x mit einbezieht) auf Linux auch kompiliert. Wobei es gegenüber dem MSVC++ bei C++03 keinen Unterschied geben sollte. Außerdem kommt man dann auf Linux mit der (annähernd) gleichen Bedienung klar (gleiche Kommandozeile).
Ja klar, aber das hat doch nix mit dem Compiler zu tun, sondern mit dem Code!? Wenn der Code mit dem GCC auf Windows kompiliert wird, wird er ja normal auch mit MSVC auf Windows kompiliert. Der Gleiche Code kann ja im Normalfall auch mit jedem x-beliebigen C++-Compiler auf Linux kompiliert werden. Wenn der Code natürlich portabel ist.Oder stehe ich jetzt auf dem Schlauch:-P???
Lg freeG