Bonjour à tous,
Certains compilos offrent une option permettant d'afficher en ASCII l'organisation mémoire d'une classe/struct. Exemple avec VC++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <bitset>
struct S{
short data[100];
char reserve[5];
};
struct S1{
short data[100];
unsigned char test[10];
char reserve[5];
};
struct S2{
short data[100];
std::bitset<80> test;
char reserve[5];
}; |
cl /c main.cpp /d1reportAllClassLayout > layout.txt
résultat:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class S size(206):
+---
0 | data
200 | reserve
| <alignment member> (size=1)
+---
class S1 size(216):
+---
0 | data
200 | test
210 | reserve
| <alignment member> (size=1)
+---
class S2 size(224):
+---
0 | data
200 | ?$bitset@$0FA@ test
216 | reserve
| <alignment member> (size=3)
+--- |
Il me semble qu'il y a un équivalent avec g++ mais je le retrouve pas (-fdump-class-hierarchy ne fait pas tout à fait la même chose). Pour C++ Builder je ne sais pas.
Partager