Speicherverwaltung durch QBuffer+QDataStream?

Alles rund um die Programmierung mit Qt
Antworten
xianerzaiwai
Beiträge: 3
Registriert: 14. März 2015 00:24

Speicherverwaltung durch QBuffer+QDataStream?

Beitrag von xianerzaiwai »

Meine Anwendung hat einen eigenen Datentyp, sag myDataStru von c.a. 10MB. In der Laufzeit werden viele Objekte des Datentyps instantiiert. Um zugewiesenen Speicher zu kontrollieren, versuche ich eine Funktion bzw. Interface zu schreiben, damit ein Speicherblock sich für Objekte des Datentyps auf ein günstiges Level eingeschränkt wird. Nun fragen sich:
1. Gibt es eine schöne QT Methode dazu?
2. ich hab googelt, und bin auf QBuffer und QDataStream gestoßen, aber weiß nicht, wie eine max. Größe der Buffer bzw. Datenstrom gesetzt werden kann.

Über eine baldige Antwort würde ich mich sehr dankbar!
veeman
Beiträge: 280
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Speicherverwaltung durch QBuffer+QDataStream?

Beitrag von veeman »

Ich bin mir nicht sicher was du möchtest. Willst du eine Liste mit allen deinen Objekten?
Dazu würde mir spontan QList, QVector, QStack, QQueue einfallen.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Speicherverwaltung durch QBuffer+QDataStream?

Beitrag von RHBaum »

Um zugewiesenen Speicher zu kontrollieren
Also einen Object/Speicher Manager ?
Da gibts nichts fertiges, zumindest in den StandardLibs, weil die Anforderungen so vielfältig sein können, und die eierlegende WollmilchSau eh nen Mythos ist :-)

Auf welche Art und Weise willst denn eigentlich den Speicherverbrauch controllieren ?
C++ bietet Dir dann Unterstützung in Form von Containern an ....
Gibt es eine schöne QT Methode dazu?
Ich würd mich nicht so auf die Qt einschiessen.
Deine Frage klingt eher nach dem LogikTeil deines Programns.
Qt ist ne GUI Lib, mit viel Komfort für schnell entwickelte kleine Programme.
DIe Qt Container sind super, aber haben auch Nachteile. (Abhaengigkeit, impliziete cow mechanismen)
Für Naive Anwendungen auch eher von Vorteil, für Implementationen die Performance und verhalten selber steuern wollen und Wiederverwendung groß geschrieben wird, eher ungeeignet.
Nen Speicher/ObjectManager würd ich eher zu Kategorie B zählen :-)
Für Streams/Container bieten sich dann die Standard Bibs (STL) oder quasi Standard Bibs (Boost) an.
Als ernstzunehmender C++ Entwickler solltest die Dinger eh blind beherschen :-)

Ciao ....
Antworten