Gibt es ein Flag in g++
oder Tools, um die Mitgliedsvariablen einer Struktur/Klasse auszugeben? Zur Veranschaulichung Quellcode wie dieseDump-Klasse/Strukturelementvariablen in g ++
struct A { virtual void m() {}; };
struct B : public A { int b; virtual void n() = 0; };
struct C : public B { int c1, c2; void o(); };
struct D : public C { virtual void n() {}; A d; };
ich etwas will prüfen, ähnlich wie
A: 0 = (vptr)
B: 0 = (vptr)
4 = b
C: 0 = (vptr)
4 = b
8 = c1
12 = c2
D: 0 = (vptr)
4 = b
8 = c1
12 = c2
16 = d
bekommen (-fdump-class-hierarchy
funktioniert nicht. Er druckt nur die Mitgliederfunktionen.)
(ich nehme an kenne die Klassen A
bis nicht, oder es gibt so viele Klassen, dass ich sie selbst nicht auflisten will.)
(Insbesondere möchte ich die Mitgliedsvariablen von http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/iokit/IOKit/IOUserClient.h ausgeben).
Danke! 'gcc-xml' funktioniert für mich, obwohl ich immer noch ein nicht ganz so kleines Skript schreiben muss, um es wieder in die Form zu konvertieren, die ich brauche. (http://networkpx.googlecode.com/svn/etc/print-struct-members.py falls jemand interessiert ist.) – kennytm