C/C++ Entwicklung unter Windows

  • hallo,

    Die einzige Sprache, mit der ich bis jetzt gearbeitet habe, war Java. Ich liebe Java, weil ich damit sofort beginnen konnte, ohne viele Mühe zu geben z.B. wie ich eine Klasse kompilieren kann. Und Java hat auch alles drinnen, was man braucht, die libraries für networking, gui programming usw.

    Ich will etwas in C/C++ und unter Windows machen. Eigentlich habe ich ein kleines C Programm, das ich ein wenig ändern will. Ich sehe es auch als eine Angelegenheit, das ich eine andere Sprache benutze.

    Die Sprache zu lernen ist kein Problem. Ich habe ein Buch und lerne. Das Problem ist, wie ich C/C++ Applikationen unter Windows entwickeln kann. Anders gesagt, was ich in meiner Umgebung haben muss (die Tools aber nur oper-source oder free), und wie ich meine Umgebung gestalten muss. Third-party libraries, die ich unbedingt kennen sollte, auch wenn ich sie nicht brauche.

    Ich habe gegoolt und immer wieder finde ich wie man c/c++ programmieren kann (wie schreibt man klassen, methoden usw.). Was ich wirklich brauche, ein Einführung, Tutorials. Welche Tools es gibt, Was soll in der Classpath stehen? Windowsspezifische Sachen usw.

    Hier habe ich einige lange Threads gesehen, in der nur diskutiert wurde, wie ich es kompilieren kann, wieso kann ich es nicht kompilieren? was bedeutet der Compiler-Fehler? usw. Mit solchen Sachen will ich nicht viel Zeit verlieren. Ich glaube, es werden nie solche Threads für java geben.

    Ich hoffe, ich konnte mich äußern.

  • externe libs brauchst du nicht wirklich, die std hat so ziemlich (listen, strings, etc) was man braucht im normalfall

    wenn du dann was spezielles brauchst wie ne lib für physik, vektormathematik, networking oder was auch immer schau dich einfach die entsprechenden libs die es dazu so gibt bei google an und such dir halt eine gute aus, ne liste mit "best of libs for xyz" kenn ich nicht *g*

    classpath musst du nix eintragen weil die programme nicht über ne virtual machine ausgeführt werden müssen sondern die exe files direkt laufen


    entwicklungsumgebung... jaja.. ne gratis entwicklungsumgebung, schwer zu sagen, am besten wäre einfach Visual Studio .NET wenn du es dir bei emule oder so runterladen würdest... wenn du mal irgnedwo in ner firma für windows was programmierst schätze ich mal wirst du dort auch irgend ne vs.net version wieder finden bzw müsste es an der uni vielleicht die express edition (eingeschränkte features usw) eigentlich um ein paar euro zu kaufen geben wenns auch windows und office usw für studenten gibt aber ich weiß es nicht

    und hm ja.. c++ ist ne gute sprache, aber ich würd mir an deiner stelle durch den kopf gehen lassen doch c# zu lernen

    ich mag zwar c++ besser als java obwohl ich zugebe dass java einfach besser ist weil es die objektorientierten konzepte einfach durchzieht und richtig umsetzt allerdings ist c# einfach noch ne ganze ecke besser in meinen augen, c# hat alle features die java auch hat und dazu noch sachen die es in java nicht gibt (zb delegates die ähnlich wie function pointer funktionieren und sich trotzdem in das objektorientierte konzept einfügen dass man damit nicht irgendwie mist bauen kann, durch delegates lassen sich eigene events definieren die man mit selbst geschriebenen event handlern abarbeiten kann, es gibt properties was ne elegante lösung ist die diesem ganzen set und get methoden haufen vorbeugt den man immer hat), es gibt in c# auch wie in java libs für alles, ich bin bei weitem nicht so gut dass ich sagen kann ich kenne alles aber ich hab einfach den eindruck dass es in c# besser umgesetzt ist zb die collections lib ist viel besser als die in java

    abgesehen davon ist c# nur vernachlässigbar langsamer als c++ und beide sind sowieso viel schneller als java

    [FONT=Arial, Helvetica, sans-serif](\__/) [/FONT]
    [FONT=Arial, Helvetica, sans-serif] (='.'=) [/FONT]This is Bunny. Copy Bunny into your signature to help
    [FONT=Arial, Helvetica, sans-serif](")_(")[/FONT] him on his way to world domination.

  • entwicklungsumgebung... jaja.. ne gratis entwicklungsumgebung, schwer zu sagen, am besten wäre einfach Visual Studio .NET wenn du es dir bei emule oder so runterladen würdest...

    ähem... *räusper*

    Wenn du TU-Student bist, gibts Visual Studio 2005 in der ZID-Version im LMZ um 18 €: http://sts.tuwien.ac.at/sss/vsn/

  • Eclipse CDT ist dabei, sich zu bessern, hinkt aber trotzdem Lichtjahre hinter den Qualitäten der Eclipse-Javaunterstützung hinterher. Code::Blocks hab ich auch schon mal gehört, soll ganz gut sein, würd ich zuerst ausprobieren. MinGW (der freie C++ Compiler), msys, make und gdb sind Befehlszeilenprogramme und haben als Standalone-Tools durchaus ihr Zielpublikum, machen aber für Anfänger wahrscheinlich weniger Sinn als eine integrierte IDE wie Code::Blocks, von dem sie außerdem eh im Hintergrund verwendet werden :verycool:

    Ein Problem für Neueinsteiger kann sein, dass es unter C++ keine derartige Einheitlichkeit gibt wie unter Java, wo ja von den Collections über die Threads und GUI-Elemente bis zum Build System alles sehr standardisiert ist, bis auf ein paar Ausnahmen. In C++ gibts nur eine wirkliche Standardbibliothek, und das ist die STL, die neben einer String-Klasse (std::string) die ganzen Collections (vector, deque, set, map, usw.) zur Verfügung stellt. Alles andere ist nicht von Haus aus dabei, und du musst erst schauen, was für dich das Richtige ist.

    boost als Allzweck-Bibliothek ist ja schon erwähnt worden, das ist so der Spielplatz der Hardcore-C++-Template-Liebhaber und ist quasi als "Halbstandard" anerkannt, ein paar Sachen daraus werden zeitweise auch in den offiziellen C++-Standard aufgenommen.

    Warum du unbedingt Windows-spezifisch bleiben willst, ist mir nicht ganz klar. Immerhin gibts da eine plattformunabhängige C++-Bibliothek für GUI-Sachen, Threads, Collections, Networking und was nicht noch alles, die so programmiererfreundlich ist wie sonst keine Windows-spezifische Bibliothek, nämlich Qt von Trolltech. Wenn du irgendwas machst, was über die Befehlszeile hinausgeht, würde ich dir Qt stärkstens ans Herz legen.

    Was du sonst noch kennen solltest... hm... SDL für 2D-Spieleprogrammierung und Ogre für 3D, CMake als fortgeschritteneres Cross-Plattform-Buildtool, und vielleicht der Boehm garbage collector für die Leute, die sich Java-ähnlich aus der Speicherverwaltung lieber raushalten würden.
    hm, da fallen mir sonst gar nicht so viele Sachen ein, Qt hat eigentlich ziemlich alles dabei was man sonst so braucht :coolsmile

    Ad C#: ja, ist auch nett. Es gibt halt weniger Addon-Bibliotheken, auch noch keine wirklichen Qt-Bindings, und es ist sehr an die Interessen von Microsoft gekettet. Davon abgesehen ist C# eine tolle Sprache, die eben Java viel näher steht als C++, und dementsprechend leicht zu lernen ist.

    "Egbert B. Gebstadter is the Egbert B. Gebstadter of indirect self-reference." - Egbert B. Gebstadter

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!