Bonjour à tous ceux qui me liront,
Je n'ai pas l'habitude de poster des questions, je connais très bien le C/C++ mais aujourd'hui, je tombe sur un os:
Ma kes ki space ????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 typedef unsigned long int DWORD; // 32bit typedef unsigned short int WORD; // 16bit struct test1 { WORD word; }; struct test2 { DWORD dword; }; struct test3 { WORD word; DWORD dword; }; ... cout << sizeof(test1); // => 2 : OK cout << sizeof(test2); // => 4 : OK cout << sizeof(test3); // => 8 : ARRGHH
Je suis sous ubuntu 10.4, je dev avec eclipse galileo et je compile avec g++ (the last version normalement).
Je veux faire quelque chose du style :
Et donc c'est la cata
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 struct mystruct { ... } ex; // plein de BYTE(char), WORD, DWORD... ifstream in; in.read((BYTE*) &ex, sizeof(mystruct));
Pourquoi lorsque l'on a une structure mélangeant des types 16bit et 32bit il nous met des 32bit à la place des 16bit ?
There is something qui m'echappe.
Si un expert de l'implémentation de C++ et qui connait g++ à fond peut donc m'aider à comprendre...
Merci d'avance
Partager