bonjour,
j'ai un probl�me qui me sid�re compl�tement... J'ai un struct compos� un peu dans ce genre :
Lorsque je fais :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 typedef monstruct1*{ u_int8_t val1; u_int8_t val2; } monstruct1_t; typedef monstruct2*{ u_int8_t val1; u_int32_t val2; } monstruct2_t;
La m�moire contient bien : AA FF
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 monstruct1.val1 = 0xAA; monstruct1.val2 = 0xFF;
en revanche si je fais :
La m�moire contient : AA 00 00 00 FF FF FF FF... d'o� j'en tire que j'ai 3 fois 0x00 qui se sont ins�r�s entre mon val1 et mon val2.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 monstruct2.val1 = 0xAA; monstruct2.val2 = 0xFFFFFFFF;
Si je mets val2 en u_int16_t j'obtiens : AA 00 FF FF... je n'ia plus qu'un 0x00 qui s'est ins�r�.
Je pr�cise que je suis sous g++ sous Mac os x en 64 bits. Est-ce que quelqu'un comprend quelque chose � tout ca ??? Je suis compl�tement incapable de construire un pauvre struct m�me pas compliqu� � cause de ca !!!
Merci pour votre aide
Tristan
Partager