[geloest] größe eines Objekts herausfinden

Alles rund um die Programmierung mit Qt
Antworten
metz153
Beiträge: 20
Registriert: 25. Mai 2010 10:41
Wohnort: Landau/Pfalz

[geloest] größe eines Objekts herausfinden

Beitrag von metz153 »

Hallo,

ich habe eine ganz allgemeine Frage:
Gibt es in Qt irgendeine Möglichkeit herauszufinden, wie groß ein Objekt (eigene Klasse) ist, und dynamisch angelegten Speicher berücksichtigt?
- Denn ein

Code: Alles auswählen

sizof(*this) 
würde dies ja nicht tun.

Wenn es keine Qt-möglichkeit gibt, hat da jemand einen anderen tip, ohne dass ich von Hand alle Zeiger derefernzieren muss um das hinzubekommen?

Vielen Dank schonmal im Voraus
Zuletzt geändert von metz153 am 23. August 2010 16:09, insgesamt 1-mal geändert.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Gibt es in Qt irgendeine Möglichkeit herauszufinden, wie groß ein Objekt (eigene Klasse) ist, und dynamisch angelegten Speicher berücksichtigt?
nein, auch in C++ gibts da nix ...

Du kannst uebers BS ein paar infos bekommen, aber sehr genau, bzw sehr auf dieses Thama zugeschnitten sind diese Infos nicht.
Plattformunabhaengig gibts da eh nicht viel ...

Hintergrund:
der Heap und Freestore wird durch den speichermanager verwaltet ... dieser wiederum holt sich den speicher vom BS, meist sowieso "seitenweisse" ...
wenn jedes new in irgend eine speicheranforderung ueber die BS API enden wuerd, waer die Performance von dynamischen Objecten noch mehr im A... als sie jetzt scho ist :-)
Deswegen cacht c++ die speicheranforderungen ...
zwischen dem c++ speichermanager und dem "new" koennen (muessen aber nicht) noch 1 oder mehr schichten dazwischenliegen .... nen eigener speichermanager z.b. oder der von den STL containern z.b. (Allokatoren).

das heisst dein c++ programm wird fast immer mehr dyn. speicher sich holen, als die summe aller deiner news. und allocs ... usw.

wieviel speicher dein programm (genauer dein prozess) aber momentan angefordert hat, und wieviel er noch anfordern koennte, kann dir nur dein BS direkt mitteilen.

Ciao ...
metz153
Beiträge: 20
Registriert: 25. Mai 2010 10:41
Wohnort: Landau/Pfalz

Beitrag von metz153 »

vielen Dank für die schnelle Antwort...

So etwas ähnliches hab ich mir auch schon gedacht, aber ich wollte nochmal auf nummer Sicher gehen.
Antworten