Bonjour,
J'ai un problème avec le C++ sous Solaris. Au fait j'essaye de faire un sizeOf d'une classe mais ça me retourne pas la taille exacte. Le résultat c'est un nombre mutliple de 8. Cela est dû au fait que le compilateur sous Solaris impose un alignement de 8 dans lors réservation de la mémoire.
Exemlpe :
[b]#include
class A
{
public:
char ch[13];
int nb;
char c1;
char c2;
A(){}//constructeur
};
int main()
{
std::cout<<sizeof(A)<<std::endl;
return 0;
}
/b
Le résultat obtenu est 24 à la place de 19
Y a t-il une solution pour rendre cet alignement à 1 ou une autre alternative à part l'utilisation du sizeOf ?!! Sachant que mettre #pragma pack(1) n'a pas d'effet sur les classes.
Merci !!