![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Fedora / Red hat Vos questions sur les distributions Fedora / Red Hat |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Candidat au titre de Membre du Club
![]() Date d'inscription: octobre 2006
Localisation: Barcelone
Messages: 25
|
Bonjour a tous, j'ai une structure de données dans laquelle j'ai besoin d'y lire que quelques bits pqr entier, j'ai donc ecrit le code suivant :
struct s_entete { unsigned char msg_id; unsigned int jour : 9; unsigned int hrs : 6; unsigned int mins : 7; unsigned int hi_secs : 2; unsigned int lo_secs : 5; unsigned int msecs : 11; short dummy1; /* for alignment */ int td; }; Le probleme n'est pas que ce code ne compile pas mais c'est qu'a la lecture des données de ma structure, il ne prend pas en compte le fait que je lui definisse le nombre de bits a utiliser.... Y'a t'il une option pour le compilateur gcc ou pour eclipse (c'est ce que j'utilise) Ma version de gcc est la suivante : gcc (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) Merci pour votre aide. |
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: juillet 2008
Localisation: Pays de Gex, Genève
Messages: 70
|
Bonjour,
Il n'y a pas d'option spécifique à préciser pour utiliser les champs de bits. Le compilateur supporte cela par défaut. Il s'agit de fonctionnalités du standard C. C'est donc là que je ne comprends pas bien pourquoi cela ne marche pas. La seule chose, c'est que si leur support est standard, la manière d'implémenter les champs de bits est laissée au compilateur. Ainsi, avec gcc, le fait d'être en big-endian ou little-endian résultera dans un arrangement différent des bits dans la structure. HTH Didier |
|
|
|
![]() |
![]() |
||
champs de bits dans une structure - option de gcc pour bon fonctionnement
|
||
| Outils de la discussion | |
|
|