Ergebnis 1 bis 11 von 11

Thema: C++

  1. #1

    C++

    C++Hoi^^

    Ich habe jetzt seit einiger Zeit mit Delphi programmiert^^ aber ich wollte jetzt mal mit C++ durchstarten.Und dabei brauche ich hilfe xD ich brauche einen kostenlosen und guten Compiler aber besten wäre natürlich einer mit nem Visualdesigner ..aber sowas gibts wahrscheinlich net ^^ wäre net wenn mir einer einen link zu einem geben kann und vielleicht auch zu dem Einseigertut ^^ will mir aber auch bals mal ein Buch kaufen ..

    By Blade's Bruder xD

  2. #2
    oO
    Es wäre nett, wenn man BEVOR man einen eigenen Thread aufmacht mal in die gepinnten Threads guckt, ob dort nicht schon das steht, was man sucht..

    Für den Anfang ist Dev++ wohl eine gute Wahl. Eine kleine nette IDE, die sogar samt Compiler geliefert wird (oder ohne, wenn man will), und das beste sie ist kostenlos...

    Ich hab als erstes Tutorial das auf www.cplusplus.com durchgearbeitet. Ist ganz hilfreich..

    Was die Sache mit dem "Visualisierungsdesigner" angeht, meinst du vermutlich eine RAD-Umgebung wie in Delphi, also wo du Buttons und so einfach auf eine Form ziehen kannst. Ob es sowas direkt in eine IDE miteingebunden gibt weiß ich nicht. Andererseits, für solche Windows-Anwendungen würde ich persönlich zu Delphi greifen. Ich glaube in dem Bereich macht C++ mehr Aufwand als das es nützt. (Wer anderer Meinung ist bitte sagen..)

    Links stehen in den gepinnten Threads. (Tutorials.. und Wie fange ich an)

  3. #3
    Ich habe auch mit dev-c++ angefangen und finde es sehr nützlich.

    Wenn du vorhast mit c++ Spiele zu programmieren, dann kann ich dir dieses Buch sehr empfehlen:

    http://www.amazon.de/exec/obidos/ASI...750868-8322143

  4. #4
    Also... Dann trag ich mal alles zusammen, ne? Ich gebe hier jetzt nur Sachen an, die nichts kosten.

    IDE: Empfehlenswert und auch von mir genutzt ist Dev C++, eine IDE für den Open Source Compiler MinGW.

    Compiler: MinGW (oder genauer GCC) ist sehr gut. Leider erzeugt der GNU Compiler nicht immer die schnellsten Programme. Die nicht mehr ganz aktuellen, aber guten Free Command Line Tools von Borland (hier) sind auch ganz gut. Auch das .NET Framework SDK enthält den abgespeckten VC Compiler.

    Tutorial: Ich arbeite ja selbst an einem, aber dat dauernd wohl noch bisschen... Der Kurs von Volkard (hier) ist ein Klassiker. Weil ich jetzt keine Lust habe, weitere aufzulisten: Alles wonach du gefragt hast und auch ein gutes Forum speziell für Programmierer findest du aufgelistet unter www.c-plusplus.de.

    mfg Дlυсаrδ

  5. #5
    Ich habe damals auch mit Volkards Tutorial (s. Post von Vorposter¹) angefangen. Als Compiler benutze ich auch die gcc. Allerdings ist die afaik Geschwindigkeitsorientiert, weshalb teilweise recht große Binaries entstehen, allerdings kann man auch auf Größenoptimierung stellen.
    Den Compiler von Borland kann ich nicht empfehlen, für den musste ich alle meine Programme umschreiben (was schon damit anfing, dass er #include <iostream> nicht verarbeiten konnte). .Net ist nur was für dich, wenn du plattformabhängig und nicht unbedingt Geschwindigkeitsorientiert arbeiten willst, dann kannst du aber gleich C# lernen (empfehle ich nicht).

    ¹Mein Browser kann das letzte Zeichen des Namens nicht verarbeiten, daher dieser Ausdruck

  6. #6
    Als IDE fuer die C++ Entwicklung verwende ich Eclipse ( http://www.eclipse.org ) zusammen mit dem CDT, und muss sagen, damit arbeitet es sich um welten besser, als mit Dev-C++, wenn man groessere Projekte bearbeitet, da es Projektverwaltungstools, Dateioperationen, Includelistings usw usw in der IDE integriert. Du musst allerdings den Compiler samt Libs und Includes selber stellen. Dazu kannst du z.B. deine bereits vorhanden Dev-C++ installation verwenden (weil da mingw bereits dabei ist) oder du ziehst dir gleich direkt mingw ( http://www.mingw.org ) und benutzt diese Installation (einfach in den Pfad eintragen). Allerdings hat Dev-C++ die schoene Moeglichkeit des Updates, womit du dir einfach Bibliothekenupdates von einem Server ziehen kannst, und dich nicht mehr um die Installation kuemmern musst.

    Gruss Ineluki

    Geändert von Ineluki (24.03.2005 um 14:34 Uhr)

  7. #7
    Zum Compiler wurde schon alles gesagt (ich rate auch zum MinGW-Port der GCC); ich spreche mal das Thema "GUI" an.
    C++ kann das nicht gut. Wenn du mit C++ ein GUI-Programm erstellen willst, dann gibt es keine eingebauten Funktionen; du mußt auf ein externes GUI-Toolkit zurückgreifen. Das Problem dabei ist, daß diese Toolkits oft für eine Plattform entwickelt werden und woanders nicht oder nur eingeschränkt laufen - beispielsweise hat man mit der WinAPI nur unter Windows Spaß. Es gibt "plattformunahängige" Toolkits, die haben aber alle ihre Macken.


    Ich führe mal ein paar halbwegs portable Toolkits an; dabei zitiere ich in weiten Teilen aus einem älteren Post. Alle Toolkits laufen unter Win32 und Linux, AFAIK auch OS X.

    Qt (Wikipedia, Website)
    Trolltechs Qt ist für *nix und Mac OS X unter der GPL verfügbar, für Windows als Closed Source-Trial. Es verwendet einen neuen Ansatz bei der Kommunikation zwischen einzelnen Objekten, so genannte "signals" und "slots". Viel weiß ich auch nicht darüber, weil ich mich mit Qt nicht wirklich befaßt habe. Qt ist eins der beiden großen GUI-Toolkits in der X11-Welt.
    Qt wird praktisch überall in KDE verwendet und findet sich auch in Opera.
    Mit dem Qt Designer gibt es ein Tool zum Erstellen von Benutzeroberflächen; zumindest mit KDE (KDevelop) ist es frei erhältlich.
    Es gibt ein RAD-Tool namens "Qt Designer", allerdings ist es u.U. nur für Linux erhältlich.

    GTK+ (Wikipedia, Website)
    Das andere große X11-Toolkit. GTK+ ist das Toolkit hinter GNOME-Anwendungen wie dem GIMP oder Gaim und unter der LGPL verfügbar. GTK+ unterstützt Themes, mit denen der Look-and-feel an verschiedene Plattformen angepaßt werden kann. Es gibt Anbindungen für einen Haufen Sprachen wie C, C++, Java, Perl, PHP...
    Als RAD-Umgebung wird meist Glade benutzt.

    FLTK (sprich: "Fulltick"; Wikipedia, Website)
    FLTK ist ein sehr kleines Toolkit, sowohl von der Größe im Speicher und auf der Platte als auch vom Marktanteil her. Der Vorteil von FLTK ist, daß es fest in die Programme reinkompiliert wird - der Anwender muß keine Bibliotheken installieren und das Programm wächst nur um knapp 200 Kilobyte. Außerdem ist es relativ einfach, mit FLTK grafische Anwendungen zu basteln.
    Andererseits... Nun ja, ich will nicht sagen, daß FLTK-Programme häßlich sind. Sie sehen einfach nur nicht gut aus. Ich hatte mit FLTK auch eine Reihe obskurer Kompilierfehler mit nichttrivialen Programmen; allerdings scheint die niemand sonst zu haben...
    FLTK bringt mit Fluid eine recht komfortalbe aber an einigen Stellen ungeschliffene RAD-Umgebung mit.

    wxWidgets (früher wxWindows; Wikipedia, Website)
    wxWidgets hat sich ein Ziel gesetzt: Ein in wxW-Programm soll sehr portabel sein und sich auf jeder Plattform perfekt anpassen: Unter Windows sehen wxW-Programme wie WinAPI-Programme aus, mit X11 wie GTK-Programme und unter OS X wie Carbon-Programme. Es wird auch eine Palette von Sprachen unterstützt.
    Der Nachteil ist, daß sie sich fast perfekt anpassen; an ein paar Stellen merkt man aber doch noch, daß man ein Programm hat, das nicht mit dem normalen Toolkit läuft. Außerdem müssen alle User die mehrere Megabyte große WxWidgets-Bibliothek haben, um das Programm verwenden zu können.

  8. #8
    Zitat Zitat von Jesus_666
    ich spreche mal das Thema "GUI" an. C++ kann das nicht gut.
    Tolle Einstellung... C++ ist eben keine so hohe Sprache wie z.B. die .NET Languages, Delphi oder so. Dafür bietet C(++) ja auch viel mehr Möglichkeiten. Man könnte theoretisch eine eigene API / GUI programmieren...

    Wie du aber bereits sagtest, gibt es viele gute cross-plattform GUIs, WxWidgets find ich persönlich ja ganz gut. Es gibt aber noch mehr davon (VCF, FOX...), die genannten sind aber die wohl Besten.

    Dann gibt es noch betriebssystemabhängige APIs. Beispiel Windows: Sowas wie MFC oder VCL (also Overheads / Bibliotheken) würde ich aber nicht empfehlen - macht meiner Meinung nach nur alles langsamer. Aber auch die WinAPI zum Beispiel ist ein Auslaufmodell, schließlich soll Avalon/WinFX in Zukunft die native Windows Schnittstelle sein (meiner Meinung nach zu .NET-verseucht).

    Auf jeden fall, C++ kann sogar viel toller mit GUIs umgehen, da man eine breite Auswahl hat, dafür ist es halt nicht so einfach.

    Geändert von Дlυсаrδ (24.03.2005 um 16:32 Uhr)

  9. #9
    Zitat Zitat von Дlυсаrδ
    Auf jeden fall, C++ kann sogar viel toller mit GUIs umgehen, da man eine breite Auswahl hat, dafür ist es halt nicht so einfach.
    Das Problem ist, daß man viele nicht nativ unterstützte Toolkits hat, die alle nicht überall laufen. Wenn man auf Interoperabilität und Portabilität Wert legt ist das ein eindeutiger Nachteil gegenüber Sprachen wie Java oder Delphi/Kylix.

    Sicher, C++ ist sehr generisch - aber das ist Java auch. C++ wurde einfach zu einer Zeit entwickelt, als GUI-Anwendungen bei Weitem nicht den Stellenwert hatten, den sie heute haben, weshalb ein eingebautes GUI-Toolkit überflüssig war; da die Sprache fixiert ist und nicht wie Java weiterentwickelt wird mußten da natürlich die Anwender ihre eigenen Toolkits erstellen.
    Trotzdem sehe ich die Vielzahl von GUI-Toolkits eher als eine Schwachstelle von C++. Es wurde unzählige Male das Rad neu erfunden und es gibt ein Dutzend verschiede, miteinander inkompatible Look-and-feels. Ein Linux-programm, das GTK verwendet bedient sich anders als eins, das Qt oder LessTif verwendet. Unter OS X muß man gar einen zweiten Grafikserver starten, um derartige Programme zu benutzen, die auch noch nicht dem OS X Look-and-feel folgen - was stark auffällt, und zwar negativ.

    Auf der anderen Seite haben wir Java, das es geschafft hat, mit zweieinhalb Toolkits* fertigzuwerden - und bessere Ergebnisse zu erzielen als C++ mit zwanzig.


    C++ ist eine leistungsfähige Sprache und für viele Dinge besser geeignet als die meisten anderen, aber GUI-Anwendungen zählen nicht zu ihren Stärken.


    * AWT, JFC/Swing und SWT. Swing zählt halb, weil es auf AWT aufbaut.

  10. #10
    Selbstverständlich. Wer wirklich ohne großen Aufwand Multi-Plattform-GUIs entwickeln will, ist mit Java eigentlich am besten beraten. Ein großes Manko ist nur eben die langsame Geschwindigkeit - ich meine, wenn man jetzt ein Java und ein C/C++ Programm vergleicht die den selben Zweck erfüllen sollen. Jede Sprache hat ihre Vor- und Nachteile.

  11. #11
    bei GUI anwendungen gibt es nur leider keine Geschwindigkeitsrelevanten Teile, da das Betriebssystem bzw die GUI API einerseits sowieso langsam sind, und zweitens sowieso 90% der Zeit auf Nutzereingaben gewartet wird. Und wenn du es so betrachtest, macht gerade bei GUI Anwendungen der Geschwindigkeitsnachteil von Java gar nichts aus ...

    Ich arbeite momentan mit Eclipse, das ist vollstaendig in Java geschrieben, und ist auch nichtz langsamer, als andere Windows IDEs

    Wenn dui wirklich ne gute GUI brauchst, und ein schnelles Programm im Hintergrund, dann kanst du auch einen Commandline Core in C++ schreiben und dazu ein Frontend in Java

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •