Bibliotheken, API ... usw...



  • Hi.
    Nachdem ich jetzt längere Zeit in der Javawelt unterwegs war, und damit eigentlich auch recht zufrieden bin, wollte ich jetzt jedoch ein wenig mehr "native" werden ;).

    Habe also nochmals mit C++ angefangen.
    Jedoch habe ich ein Problem. In Java, gibts die API und wenn ich z.B. einen XML-Parser suche, dann guck ich in die API und keine 5 Minuten später habe ich bestimmt 3 verschiedene Parser, wovon einer sogar funktioniert ;).

    Bei C++ sitze ich schlicht auf dem trockenen. Wo gibt es tolle Bibliotheken, bzw. die Doku dazu?
    Es gab dazu ja schonmal einen Thread (http://www.c-plusplus.net/forum/viewtopic-var-t-is-46653-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-bibliotheken+beschreibung-and-start-is-0.html)
    ist es tatsächlich immer noch so?!

    Also nur so als Beispiel.

    Angenommen ich möchte einen XML-Parser schreiben (in C++) muss ich das alles selbst von Hand machen?
    Wie sieht es mit Grafik aus? Ist C++ "grafik-fähig" (Swing in Java) oder muss ich da auf Bibliotheken, wie QT, OpenGL oder gar DirectX(buääh bin in Linux)
    zurückgreifen?!
    Habe ich das richtig verstanden?

    Oder wenn nicht, klärt mich auf. Ist es wirklich so?
    Wo bekomme ich Informationen her? Wo gibt es gute Dokumentationen zu klassen, wie z.B. XML-Parsen, Netzwerkprotokolle, Grafikprogrammierung, Dynamisch Eingabe (ansteuerung von Maus et cetera)?!
    Ungläubig aber auf Besserung hoffend,
    der Freak 🙂



  • WxWidgets, http://www.wxwidgets.org (GUI, XML, Sockets, Threads...usw.)

    Nur XML: TinyXML http://www.grinninglizard.com/tinyxml/

    Jetzt nur mal so als Beispiel...



  • C++ an sich ist weder grafik- noch netzwerk- noch XML- noch sonstwiejavakrempelfaehig, man muss fuer alles Bibliotheken einbinden. Dadurch kannst du aber alles genau deinen Beduerfnissen anpassen weil du keine eierlegende Wollmilchsau laden musst wenn du z.B. nur eine einfache kleine XML-Datei parsen willst.



  • @ pli
    Ok Bibliotheken einbinden.
    Aber woher nehmen? Ich kann ja nichtmal stehlen, da ich nicht weiss wo ich welche finde, bzw. keine Doku finde welche mir erläutert was diese oder jene Bibliothek macht.

    Muss ich googeln um Bibliotheken zu finden? Kann doch nicht sein, es gab schließlich auch ein Leben vor google!



  • Muss ich googeln um Bibliotheken zu finden? Kann doch nicht sein, es gab schließlich auch ein Leben vor google!

    Ja, oder du liest hier im Forum mit, dann kriegst du auch die gängsten Library-Namen mit. 😉



  • Ist doch eigentlich ganz easy. Man muß halt ein paar Anlaufstellen haben.

    Willst du unbedingt platformunabhängig entwickeln? Dann mußt du öffters Google bemühen oder das Forum fragen.

    Oder ist dir das alles egal und du kannst mit Windows-only leben? Dann kaufst du VisualC++ 2003 (Standard reicht) oder das kommende VC++2005 und hast ALLES dabei. Sogar mehr als bei Java im Download.

    Hier mal die wichtigsten platformunabhängigen Libs:

    http://www.boost.org bzw. http://www.boost.org/libs/libraries.htm

    Auf Apache gibt es den XML-Parser auch für C++. Einfach mal da vorbei schauen.



  • Sicher gabs ein Leben vor Google, aber damals hat man noch nicht so viele Bibliotheken gehabt oder man hat sie von jemandem empfohlen bekommen oder die waren als Begleit-Diskette bei einem Buch dabei. Eine zentrale Seite mit einer Liste von Bibliotheken gibt es meines Wissens nach nicht (waere aber manchmal echt hilfreich). Entweder du fragst jemanden ob er dir eine Bibliothek empfehlen kann (hier im Forum findet sich eigentlich immer jemand der irgendeine Bibliothek schonmal angetestet hat) oder du googelst und schaust in der jeweiligen Doku des "Herstellers" ob die was fuer dich ist. Die Dokus sind halt leider oft Mist und man muss sich bei OpenSource Bibliotheken den Code ansehen um zu verstehen was passiert.



  • Also erstmal vielen Dank für die schnelle und reichliche Auskunft.
    Nur ein wenig verwundert bin ich jetzt schon, das es keine zentrale "Dokustelle" gibt.

    So versuche ich z.B. seit geraumer Zeit die Länge eines Strings zu bestimmen, bis ich dann (thx google) irgendwo folgendes gefunden habe:
    <string>.length().

    Vorher hatte ich mich ewiglang mit strlen(<string>) rumgeschlagen.
    strlen() funktioniert mit <string>="test", jedoch NICHT?!? mit
    string test = "string".
    <string>=test;
    Dann meckert mein Compiler.

    Nachdem ich jedoch length() gefunden hatte, wollte ich wissen woher diese "Funktionalität" kommt. Wo ich nachsehen kann was für tolle Funktionen mir noch zur Verfügung stehen. Aber, nichts gefunden.
    Das wird also voraussichtlich ein hartes Brot werden, etwas grössere Dinge mit C++ zu machen, oder?!



  • bleib bei java 🙄 🙄



  • @ tipp, sehr hilfreich, danke.



  • strlen ist ja auch eine C-Funktion, hat herzlich wenig mit C++ zu tun.

    Wenn du C++ programmieren willst, solltest du es vielleicht erstmal lernen? :p Das ist mein erster Eindruck, nach deinem letzten Posting.

    Was kann String: http://www.cppreference.com/cppstring/

    Ich kann nur soviel sagen: ich habe folgende zwei Bücher, in denen erstmal die Basics zu C++ und deren Standard-Lib drin steht. Meine Buchempfehlungen:

    http://www.kharchi.de/cpp_buecher.html

    Eine Übersicht zur Standard-Lib von C++ gibt es hier:
    http://www.cppreference.com/ (bitte nicht auf den C-Teil verirren!!!)



  • Ja, ich bin ja gerade dabei es zu lernen.
    Ich hatte mich übrigens darauf bezogen:
    http://www.cplusplus.com/ref/#libs
    und da ich gelernt habe das C eine Untermenge von C++ ist, hatte ich erwartet das es funktioniert.

    Ahh, hatte mich dann aber wohl im C-Teil verirrt :).

    Aber nochmals danke für einen weitere konstruktiven Beitrag 🙂



  • www.cplusplus.com ist ziemlich unvollständig was C++ angeht. Kann man nicht empfehlen. Ich empfehle auf jeden Fall das Buch von Kuhlins oder Stroustrup, die Bücher rentieren sich alle mal! Glaub mir.


Anmelden zum Antworten