C++ Framework gesucht

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
donelik
Beiträge: 56
Registriert: 28.11.2006, 17:49
Benutzertext: Will releasen!
Kontaktdaten:

C++ Framework gesucht

Beitrag von donelik »

Hallo,

kennt jemand ein C++ Framework welches relativ weit entwickelt ist und mit dem ich übliche Programmieraufgaben schon fertig implementiert und gekapsel habe?
Mit üblichen Programmieraufgaben meine ich: Filehandling, Design Patterns (Factories, MVC, Singleton ...), String-Bearbeitung, "NotCopyable" Klassen (weiß gerade leider nicht wie diese Basisklassen heißen), Memorymanager, Multithreading, Umleiten von cout cerr clog usw, ... halt diesen ganzen Standardkram

In anderen Worten: Ich suche ein ZendFramework für C++ ;) Kann alles, muss nix ....

Als Betriebssystem ist eigentlich nur Windows vorgesehen, wenn das Framework aber mehr unterstützen würde, wäre das ganz toll.

Habe bisher das Platinum C++ Framework gefunden http://pt-framework.sourceforge.net/. Das scheint schon in die richtige Richtung zu gehen (hat sogar ein eigenes Buildtool), nur leider ist die Dokumentation mies.

Viele Grüße,
DonElik

Edit 1:
Ich seh gerade das Boost++ viel mehr kann als ich bisher angenommen habe ... mal schauen ob dort meine Wünsche erfüllt werden ...
Ach hör' auf ...
Benutzeravatar
jgl
Establishment
Beiträge: 109
Registriert: 08.04.2009, 08:58

Re: C++ Framework gesucht

Beitrag von jgl »

donelik hat geschrieben: Edit 1:
Ich seh gerade das Boost++ viel mehr kann als ich bisher angenommen habe ... mal schauen ob dort meine Wünsche erfüllt werden ...
Ja, das hätte ich auch empfohlen, das ist auch das einzige was mir jetzt so auf die Schnelle einfällt.
Ich weis aber nicht, was du mit Designpattern meinst, ich meine das sich da ja jeder selber darum kümmern muss....
Desweitern fällt mir noch Qt ein (FileHandling,Stringsbearbeitung,Multithreading *glaube ich*, und noch einiges..)

MfG J...
Benutzeravatar
Schrompf
Moderator
Beiträge: 4855
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von Schrompf »

Design Patterns sind nun eigentlich nicht framework-tauglich. Bestenfalls die Factory, die man in C++ mit ein bisschen Template-Magie als fertigen Source verbreiten kann. Alles andere sind mehr Problemlösungsstrategien und keine wirklichen Quelltext-Schnipsel.

Deine Liste an Anforderungen wird jedenfalls von der Standard-C++-Runtime plus Boost bereits vollständig abgedeckt. Du wirst auf Dauer aber ein weiterführendes Framework haben wollen. Für den Anwendungsbereich würde ich dann Qt empfehlen, für den Spielebereich 2D die SDL, HGE oderwasweißichnoch, für 3D die üblichen 3D-Engines wie Ogre und Konsorten.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
donelik
Beiträge: 56
Registriert: 28.11.2006, 17:49
Benutzertext: Will releasen!
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von donelik »

Das mit den Factorytemplates dachte ich mir auch schon so ....

@Schrompf:
Die Engines sind leider zu "speziell". Ich dachte da an was allgemeineres wie zum Beispiel Boost.

Qt - A cross-platform application and UI framework
Das ist mir neu, ich dachte immer das wäre eine reine UI-Lösung. Na dann werde ich mich auch dort nochmal umschauen. Danke.


Ich habe leider nur den Vergleich zur Webprogrammierung mit dem ZendFramework. Dort ist alles austauschbar und selber erweiterbar (durch abstrakte Klassen usw.). Die von Zend "nehmen dich an die Hand, ohne dich festzuhalten" ...
Ach hör' auf ...
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von kimmi »

Such mal nach der Loki-Library, da findest du ebenfalls einige ganz praktische Features wie einen Small-Object-Allocator.

Gruß Kimmi
Stefan Zerbst
Moderator
Beiträge: 189
Registriert: 25.02.2009, 19:54

Re: C++ Framework gesucht

Beitrag von Stefan Zerbst »

donelik hat geschrieben:Qt - A cross-platform application and UI framework
Das ist mir neu, ich dachte immer das wäre eine reine UI-Lösung. Na dann werde ich mich auch dort nochmal umschauen.
Qt ist viel mehr als nur UI und im Bereich UI setzt es auch Maßstäbe. Ich kann Qt nur empfehlen, allerdings sollte man den Quellcode nicht lesen, da wird einem ganz anders :mrgreen:

Aber Qt dekt so ziemlich alles ab was man in einer Applikation mit UI haben möchte, auch Basisklassen für die Applikation selber. Tonnen von Hilfsklassen in allen nur erdenklichen Bereichen und auch immer die Möglichkeit, sich eigene Spezialisierungen von den Qt-Klassen zu implementieren. Wenn du eine Anwendung schreiben willst, die UI benötigt und nicht nur Grafik, dann ist Qt die erste Wahl. Und selbst im Bereich Grafik wird OpenGL (meistens) nahtlos integriert. Das geht auch so weit, dass die UI Widgets von Qt via OpenGL gerendert werden können. Das fetzt schon :)

Ciao,
Stefan
Tactive
Beiträge: 61
Registriert: 21.07.2004, 15:10
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von Tactive »

Hallo,

schau Dir doch mal Boost (http://www.boost.org/) an, das ist ziemlich umfangreich und deckt vieles ab. Ich nutze es immer mehr, auch wenn man sich erst ein wenig einarbeiten muss. Ich bin mit der Exception Erweiterung angefangen und nutze die Bibliothek immer mehr. Aus dem Exception Framework habe ich mir z.B. eine eigene Klasse gebastelt mit der ich folgendes machen kann.

Code: Alles auswählen

throw Exception("Dies ist ein Fehler") << errinfo("Weitere Informationen"); 

....

try
{
   ...nasty code...
}
catch (Exception& e)
{
   cout << "Fehlermeldung: " << e.GetMessage() << endl;
   if (e.HasErrorInfo())
      cout << "Weitere Infos: " << e.GetErrorInfo() << endl;
}

Das ganze natürlich noch über eine #define Macro, welches Funktionsname, Dateiname, Zeilennummer und den aktuellen Callstack anhängt. Seitdem ich mir die Smartpointer angesehen habe, verwende ich kaum noch Singletons. Naja, wie gesagt das gibt es noch viel mehr Erweiterungen die helfen. Schau's Dir einfach mal an.

Als UI Framework würde ich ach Qt oder wxWidgets empfehlen, wobei ich eher letzteres bevorzuge - liegt aber wohl daran das ich da mehr Erfahrung drin habe als mit Qt und ich ein wenig vor dem Dialog-Compiler von Qt zurückschrecke (jaja, immer diese lästigen Vorurteile).
Benutzeravatar
Schrompf
Moderator
Beiträge: 4855
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von Schrompf »

Tactive hat geschrieben:(jaja, immer diese lästigen Vorurteile).
Ach warum... die Notwendigkeit, sich auf generierten Code zu verlassen, ist das, was auch mich am meisten an Qt stört. Und ich mag es sonst sehr gern. Aber wenn an dem Meta-Compiler-Gedöns was schiefgeht, bekommt man mehr als seltsame Fehlermeldungen und muss doch ordentlich graben gehen, bevor man den Fehler beheben kann. Wenn man wxWidgets genauso elegant und effektiv programmieren kann, ohne zusätzliche Build-Schritte auszuführen, wäre das doch ein ziemlich starkes Argument.

Nuja, jeder, wie er glücklich wird :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Stefan Zerbst
Moderator
Beiträge: 189
Registriert: 25.02.2009, 19:54

Re: C++ Framework gesucht

Beitrag von Stefan Zerbst »

Schrompf hat geschrieben:sich auf generierten Code zu verlassen, ist das, was auch mich am meisten an Qt stört.
Dafür hat man dann in Qt aber einige Sachen zur Verfügung, die man sonst in reinem C++ nicht hätte. Wie zum Beispiel Signals and Slots und automatische Generierung des Notwendigen Codes für die Dialoge. Das ist schon eine feine Sache.

Aber grundsätzlich stimme ich zu, bei Qt ist es etwas kniffelig die Build-Umgebung richtig einzustellen so dass man mit minimalem Aufwand neue Widgets erzeugen kann. Aber wenn man das erst einmal eingestellt hat sollte es keine Probleme mehr machen :?:

Ciao,
Stefan
Tactive
Beiträge: 61
Registriert: 21.07.2004, 15:10
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von Tactive »

Dafür hat man dann in Qt aber einige Sachen zur Verfügung, die man sonst in reinem C++ nicht hätte. Wie zum Beispiel Signals and Slots und automatische Generierung des Notwendigen Codes für die Dialoge. Das ist schon eine feine Sache.
Signals and Slots sind auch in der Boost Biblitohek enthalten, gehören dort zur Header Only Library, d.h. ich muss die Boost-Lib nicht kompilieren sondern es reicht die entsprechenden Header in das Projekt zu integrieren. Habe ich aber noch nicht mit gearbeitet muss ich zugeben. Aber stimmt schon, reines "Vanilla" C/C++ ist nicht wirklich toll - da muss man das Rad dann ständig neu erfinden.
Benutzeravatar
donelik
Beiträge: 56
Registriert: 28.11.2006, 17:49
Benutzertext: Will releasen!
Kontaktdaten:

Re: C++ Framework gesucht

Beitrag von donelik »

Habe noch ein anderes Framework gefunden: Ultimate++

http://www.ultimatepp.org/

Ob es hält was es verspricht kann ich noch nicht sagen, aber die Vergleiche zu anderen Frameworks sind recht interessant:
http://www.ultimatepp.org/www$uppweb$co ... en-us.html

Hier dürfte Krishtys Herz höher schlagen: Performancevergleiche
http://www.ultimatepp.org/www$uppweb$vsstd$en-us.html

Hier mal die Packages:
http://www.ultimatepp.org/srcdoc$Core$P ... en-us.html

Wenn ich schon die File path utilities sehe, bekomme ich Lust anzufangen (Ich kann ja in der Silvesternacht programmieren ;) ):
http://www.ultimatepp.org/src$Core$Path$en-us.html

Es werden Basisklassen wie "NoCopy" benutzt ... (Mensch, wie heißen diese Klassen ...).

Das einzige was mir bis jetzt Kopfschmerzen bereitet sind die vielen Makros. Aber das scheint wohl überall so zu sein.

Hat jemand damit Erfahrung? Oder sieht vielleicht jemand einen Haken den ich noch nicht entdeckt habe?
Ach hör' auf ...
Antworten