IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

RedHat / CentOS / Fedora Discussion :

champs de bits dans une structure - option de gcc pour bon fonctionnement


Sujet :

RedHat / CentOS / Fedora

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 12
    Points
    12
    Par défaut champs de bits dans une structure - option de gcc pour bon fonctionnement
    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. #2
    Membre averti

    Inscrit en
    Juillet 2008
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 186
    Points : 350
    Points
    350
    Par défaut
    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

Discussions similaires

  1. [Débutant] Ajouter un champ dans une structure.
    Par Gooby dans le forum MATLAB
    Réponses: 4
    Dernier message: 24/10/2014, 12h38
  2. Réponses: 7
    Dernier message: 04/12/2012, 19h02
  3. [Débutant] Savoir si un champs est présent dans une structure
    Par bibou1234 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/10/2011, 10h49
  4. Réponses: 4
    Dernier message: 24/12/2009, 10h37
  5. ordre des champs dans une structure
    Par oussema dans le forum C
    Réponses: 8
    Dernier message: 08/03/2007, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo