c +/++ tutorial
Übersicht

![]() |
mas93Betreff: c +/++ tutorial |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute,
Ich habe schon öfters versucht, mal in C +oder++ mich reinzu arbeiten. Leideer bin ich immer schon bei der auswahl +/++ und den 1000 verschiedenen compilern verzweifelt. Also erst noch paar fragen. Ist es besser + oder ++ zu lernen, auf die zukunft bezogen? Denn ich habe später sicher vor etwas in richtung informatik zu machen. Dann noch die frage wegen den Compilern. Ich habe irgendwie gelesen, dass nicht jeder C +/++ code in jedem compiler gleich funktioniert? Warum das? Bei Blitz ist sowas ja egal?! Also wäre da die frage welchen compiler. Zu guter letzt suche ich dann noch ein gutes Tutorial auf deutsch. Kennt ihr da eins? Wäre nett wenn ihr meine Wissenslücken schließen könntet^^ mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, erstmal, C+ existiert nicht, es gibt nur C und C++ (aber ich geb zu, als ich ca. zehn war, dachte ich auch, dass es C+ als Lückenfüller eigentlich existieren müsste...).
Ein guter (und kostenloser) Compiler ist Dev C++. Aus eigener Erfahrung würd ich eher zu einem Buch als Tutorial raten, und dann eins, das dir nicht das Microsoft Zeug beibringt (Visual C++), sondern Compiler-unabhängig dir die Sprache beibringt. Hab da so ein Buch, nur weiß ich den Titel net auswendig, ich posts mal heute abend/die Tage. |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein guter und gratis Compiler und IDE ist Visual Studio 2008 Express. Darauf sind dann auch die meisten anleitungen etc ausgelegt. (ok auf die VC++ 2005 express, welche man ebenfalls herunterladen kann bei microsoft) | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm ok, werd ich mir mal anschaun.
Also wenn ich jetzt mit Visual Studio 2008 Express nen code schreibe und ihn dann auch in nem anderen compiler teste, funktioniert er dann dort auch? Und warum ist das manchmal überhaupt nicht das gleiche, obwohl es der gleiche code ist? mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: Also wenn ich jetzt mit Visual Studio 2008 Express nen code schreibe und ihn dann auch in nem anderen compiler teste, funktioniert er dann dort auch?
Das kommt darauf an, ob dein Code den Standards entspricht. Die Microsoft-Compiler ( bei GCC weiß ich's nicht ) haben einige Erweiterungen, die bei anderen nicht funktionieren. Das sollte aber beim Lernen keine Rolle spielen. Das meiste wird wohl mit mehreren Compilern funktionieren. Zitat: Ich habe irgendwie gelesen, dass nicht jeder C +/++ code in jedem compiler gleich funktioniert?
Warum das? Bei Blitz ist sowas ja egal?! Es gibt ja auch nur einen Blitz-Compiler. ![]() Zitat: Ist es besser + oder ++ zu lernen, auf die zukunft bezogen?
Da C++ eine Erweiterung von C ist, kannst du C, wenn du C++ kannst. Der Unterschied zwischen beiden ist die objektorientierte Programmierung, die es in C nicht gibt. Du kannst aber trotzdem C++ Programme ohne OOP schreiben. Mach es so, wie du willst. Wenn dir Klassen am Anfang zu schwer sind, überspringe das Kapitel und versuch es irgendwann später nochmal. Zitat: Zu guter letzt suche ich dann noch ein gutes Tutorial auf deutsch.
Ich hab C++ mit diesem Buch hier gelernt -> http://www.amazon.de/Spielepro...amp;sr=8-2 Ich hab mich dafür entschieden, weil es auch DirectX-Grundlagen behandelt und man so das gelernte auch relativ schnell anwenden konnte. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich benutz den Borland 5.5 Compiler für C++,
aber guck mal hier , da sind noch ein paar aufgelistet... mfg Crack93 |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du unter linux und windows coden willst, nimm den Gcc (siehe oben Dev c++) ansonsten das ms ding.
Wobei mich diese umgebungen immer den 1. nerf rauben... ich will nur kompilen, nicht erst ein Projekt anlegen... |
||
between angels and insects |
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich kann dir auch nur visual studio empfehlen. Bei Linux habe ich keine Ahnung, das benutze ich nicht.
Für Tutorials kann ich dir die openbooks von galileo computing empfehlen, die sind umsonst (falls du lieber ein Buch aus Papier haben willst, dann kannst du dir die selbstverständlich auch kaufen, kosten aber einiges) @Jan_ ja, das nervt wirklich wenn man mal kurz einen Codeschnipsel testen will und man dann direkt n neues Projekt anlegen muss. Dafür ist aber die automatische Befehlsvervollständigung (oder wie das heißt) ziemlich praktisch und erspart je nach dem einiges an Tipparbeit |
||
Meine Parodien & Geschichten |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Scheinbar hat jeder nur DevC++ im Kopf - das ist nur ein IDE - und nicht gerade das beste
Besser ist Code::Blocks für Windows... Da empfehle ich daily build zu nehmen, da es stabiler ist und mehr Funktionen hat... Als Compiler unterstützt es nahezu alle die es gibt - ich nehme allerdings MinGW - weil es opensource ist. Außerdem gibt es bei MinGW viele andere Programmiersprachen (man kann gar mehrere Sprachen für ein programm nutzen). Wobei ich denke MS VC++ ist trotzdem die bessere Wahl. Bevor du codeblocks installierst - installier alle Compiler die du willst - dann kann CB die autom. finden... Beginne am besten mit C - das ist einfacher... C++ dagegen kommt mir vor wie von einer anderen Welt - zumindest die Codes sehen furchtbar grauenhaft aus - ich konnte mich mit C++ noch nie anfreunden... Was bei C(++) schlecht ist, dass man relativ schwer Libs zu Projekten anfügen kann... Wenn es z.B. kein vorkompiliertes binary für MinGW gibt und der Code nicht für MinGW ausgelegt ist, dass läuft es nicht... Oder möchte man die binary selbst builden, dann ist es oft seeeeer schwer möglich - erst wenn man z.B. 10 andere Libs vorher gebuildet hat... Also C/C++ ist für mich für große Projekte tot (außer für sowas wie miniprog ohne externe libs oder DLL) Weiterhin ist es oft so, dass man die Libs vor dem builden aufwendig konfigurieren muß - oder man muß makefile-skripte starten - wie man solche Skripte selbst schreibt ist eine Wissenschaft für sich... Für die meisten Libs gibt es aber VC++ Projekte - seltener auch Codeblocks-Projekte -fast immer gibt es makefiles Zitat: hmm ok, werd ich mir mal anschaun.
Also wenn ich jetzt mit Visual Studio 2008 Express nen code schreibe und ihn dann auch in nem anderen compiler teste, funktioniert er dann dort auch? Und warum ist das manchmal überhaupt nicht das gleiche, obwohl es der gleiche code ist? Ich denke einige Compiler sind fehlertoleranter als andere... dann hat jeder Compiler seine eigene "extra"-Schlüsselwörter wie z.B. __declspec(dllexport). Dann können Standard-Header unterschiedlich sein oder auf einigen Systemen gibt es paar libs nicht - und es gibt 100 andere Sachen... Im Prinzip muss dur dir bei C(++) eins merken - es ist ein rumgehacke im Code. Man kann den code soweit per präprozessor umformatieren, dass es einem übel wird. |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
E. Urbachehemals "Basicprogger" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ChristianK:
Zitat: kannst du C, wenn du C++ kannst. Der Unterschied zwischen beiden ist die objektorientierte Programmierung, die es in C nicht gibt.
1. Es gibt wesentlich mehr Unterschiede zwischen C und C++, hoffe du hast das bloß gesagt um nicht zu tief ins Detail gehen zu müssen ![]() 2. Nicht jeder, der mit C++ programmieren kann, kann das auch in C 3. Nicht jeder C-Quellcode lässt sich mit einem C++ Compiler kompilieren @TheShadow: Zitat: Beginne am besten mit C - das ist einfacher
Würde ich auch sagen, aber nur deswegen, weil es der BlitzBasic-Syntax "ähnlicher" ist, wenn man hier überhaupt von Ähnlichkeit sprechen kann... Zitat: zumindest die Codes sehen furchtbar grauenhaft aus
Welche Codes schaust du dir denn an? Hoch-optimierte, von Assembler-Freaks erstellte 3D-Engines? C++ kann grauenhaft aussehen, aber das muss nicht zwingend sein. Deine Aussage ist zumindest zu allgemein. Zitat: Was bei C(++) schlecht ist, dass man relativ schwer Libs zu Projekten anfügen kann... Wenn es z.B. kein vorkompiliertes binary für MinGW gibt und der Code nicht für MinGW ausgelegt ist, dass läuft es nicht... Oder möchte man die binary selbst builden, dann ist es oft seeeeer schwer möglich - erst wenn man z.B. 10 andere Libs vorher gebuildet hat... Also C/C++ ist für mich für große Projekte tot (außer für sowas wie miniprog ohne externe libs oder DLL)
Willkommen in der Welt von Open Source! ![]() Zitat: Weiterhin ist es oft so, dass man die Libs vor dem builden aufwendig konfigurieren muß - oder man muß makefile-skripte starten - wie man solche Skripte selbst schreibt ist eine Wissenschaft für sich...
Stimm ich dir zu. Makefiles konnte ich noch nie lesen, geschweige denn schreiben. Außerdem finde ich sie sinnlos (und ja, ich kenne den Zweck, aber das kann man auch anders lösen). @mas93: Zitat: Also wenn ich jetzt mit Visual Studio 2008 Express nen code schreibe und ihn dann auch in nem anderen compiler teste, funktioniert er dann dort auch?
Und warum ist das manchmal überhaupt nicht das gleiche, obwohl es der gleiche code ist? Jeder Compiler - nicht nur VC, auch GCC - hat seine eigenen spezifischen Erweiterungen. Um mal ein Beispiel zu nennen: typeof bei GCC und forceinline bei VC. Wenn du diese Erweiterungen nicht benutzt, dein Code die Standards einhält und du keine system- bzw. architekturspezifischen Codes schreibst, kannst du davon ausgehen, dass dein Code mit 90% aller bekannten Compiler kompilierbar ist. Zitat: Zu guter letzt suche ich dann noch ein gutes Tutorial auf deutsch.
Tutorials sind eine Sache, Referenzen die andere. Vor allen Dingen solltest du wissen, dass - trotz der vielen deutschen Tutorials - die englische Literatur immer noch die primäre Quelle ist. Ohne Englischkenntnisse könnte es schwer werden, wenn du fortgeschrittenere Themen erlernen willst. Anfängertutorials in deutscher Sprache gibt es so viele wie Sand am Meer: Google-Suche Ich finde es immer besser, wenn man die Grundkenntnisse mithilfe eines Buches (im Notfall auch ein eBook) erlernt und dann über Online-Tutorials zusätzliche Details erarbeitet. Wirklich gute Tutorials kenne ich nicht (wie schon gesagt, ich bin für Bücher) aber zwei gute Referenzen: http://www.cplusplus.com/reference/ http://www.cppreference.com/ Für Linux und alle anderen Betriebssysteme empfehle ich dir GCC/G++ in Verbindung mit einem guten Editor, z.B. Eclipse oder Code::Blocks. Für Windows empfehle ich dir Visual Studio 2008 Express mit dem Platform SDK (funktioniert das schon mit VC2008?), wobei Code::Blocks und Eclipse auch mit dem Visual Studio Compiler einsetzbar sind. Ich selbst nutze Eclipse in Verbindung mit Linux, dort kann ich dann mit 2 Mausklicks den Compiler und das "Zielbetriebssystem" ändern, so dass ich jederzeit testen kann, ob mein Programm bei der jeweiligen Plattform immer fehlerfrei kompiliert wird, z.B. Linux/GCC, Windows/MinGW oder Windows/VC. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, vielen dank für die Antworten.
Ich lade mir jetzt gerade mal Visual Studio. Das einigste Problem dabei sind die 800mb+^^ Bei meinem drecks internet... Naja, zum glück gibts download manager. Hmm, ich bin auch der Meinung, dass man mit Büchern besser lernt, jedoch will ich mir die groben Grunkentnisse lieber durch Tutorials aneignen. Also falls jemand noch ein gutes hat, nur her damit^^ mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
800mb??
Lädst du dir das komplettpaket mit Visual Basic, Visual C++ und Visual C# (+mySQL Server)? oder ist die 08er Version sehr viel größer als die 05er? ![]() |
||
Meine Parodien & Geschichten |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Basicprogger hat Folgendes geschrieben: Es gibt wesentlich mehr Unterschiede zwischen C und C++, hoffe du hast das bloß gesagt um nicht zu tief ins Detail gehen zu müssen
![]() Ja, ich weiß, dass es noch mehr Unterschiede gibt. Andere Speicherverwaltung ( new statt malloc, ... ), überladene Funktionen, Referenzen ... die Fallen mir gerade ein. Ich habe das nur geschrieben, weil OOP der größte und ( imho ) für den Anfang wichtigste Unterschied ist. ![]() |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Randall Flagg hat Folgendes geschrieben: 800mb??
Lädst du dir das komplettpaket mit Visual Basic, Visual C++ und Visual C# (+mySQL Server)? oder ist die 08er Version sehr viel größer als die 05er? ![]() Bei mir wars glaube ich 80 mb groß, vielleicht hat er was verwechselt ... |
||
![]() |
Randall Flagg |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo, vielleicht hat er die "0" einmal zu oft getippt^^ | ||
Meine Parodien & Geschichten |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die wenigsten schreiben ihre Makefiles selber. Bei Qt-Programmen erstellt man eine kleine, übersichtliche projekt-datei, und ein programm erstellt aus dieser ein passendes makefile, welches auf das System zugeschnitten ist.
So lassen sich z.B. im falle von Qt der selbe code auf fast allen gebräuchlichen Systemen (Mac,Windows,Linux,...) mit den selben befehlen kompilieren. Ein makefile ist nichts anderes als eine erweiterte Batch-Datei, in der von oben nach unten Befehle abgearbeitet werden. Kann als compiler den gcc sehr empfehlen. Allerdings weiss ich nicht, wie es mit der 3er-Version vom MinGW aussieht. Wenn es geht sollte man den 4er nehmen. |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
lol kein wunder, ich hab mir echt das ganze scheiß packet geloadet xD
Hab aber dann auch nach 2h abgebrochen ich such jetzt mal nach dem 80mb teil^^ Edit: Soo, Ich lad mir jetzt gerade Nicrosoft Visual C# 2008 Express das is schon das richtige für mich, oder?? Hat 60 mb. mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Äh ... nein. C# ist eine andere Sprache, auch wenn die Syntax ähnlich ist wie bei C++.
Du brauchst Visual C++ Express -> http://www.microsoft.com/express/download/ ( rechts unten ) |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm ja stimmt, habs zum glück noch rechtzeitg gemerkt.^^
ich hab dieses tutorial gefunden[url]:http://tutorial.schornboeck.net/inhalt.htm[/url] das sieht schonmal ziemlich übersichtlich aus. Ich werd gleich mal die ersten codes comilen^^ mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Viel Erfolg! ![]() Und wenn du Fragen zu C++ hast, kannst du dich auch hier anmelden -> http://www.c-plusplus.de/forum/index.php |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group