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

C Discussion :

probleme d'alignement: GCC


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut probleme d'alignement: GCC
    Bonjour à tous,

    Je travail sous linux et compile donc avec gcc 4.3.2
    Je debug actuellement une application dans laquelle j'ai trouver une erreur d'alignement au niveau d'une structure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    typedef union{
    	unsigned short byte;
    	struct {
    		unsigned bits02  :3;
    		unsigned bit3   :1; 
    		unsigned bit4 :1;
    		unsigned bit5 :1;
    		unsigned bit6 :1;
    		unsigned bit7   :1;
     			 }i;
    }Index;
    lorsque je fait un sizeof de cette structure, j'obtient 4 octets... or elle devrait en faire 2.
    Cela doit provenir d'une option de compilation sur GCC, auriez vous une idée ?

    Cordialement

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    C'est peut-être à cause du type unsigned. Je ne sais pas ce que dit la norme à ce sujet, mais peut-être est-ce considéré comme un unsigned int.
    En tout cas, en remplaçant tous tes unsigned par des unsigned short, la taille de l'union passe de 4 à 2 (chez moi).

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Je n'ai pas lu la norme, mais un 'unsigned' tout seul, c'est par défaut un 'unsigned int'.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Citation Envoyé par Gnius Voir le message
    Je debug actuellement une application dans laquelle j'ai trouver une erreur d'alignement au niveau d'une structure
    Pourquoi parles-tu d'erreur ?
    Si tu veux absolument que le compilateur n'aligne pas la structure (et que tu as de bonnes raisons !) tu peux utiliser l'attribut «packed», tel qu'indiqué dans ce thread.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 37
    Par défaut
    Merci pour vos reponse,

    C'etait un erreure toute bete de ma part, "unsigned" sont consideré comme des int par defaut et la plafeforme sur laquelle je travail les consideraient comme short.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec alignement de chiffres réels :(
    Par softstar dans le forum Delphi
    Réponses: 52
    Dernier message: 09/09/2006, 00h12
  2. probleme d'alignement d'un caption
    Par softstar dans le forum Delphi
    Réponses: 6
    Dernier message: 27/08/2006, 10h36
  3. [Tableaux] Probleme d'alignement des checkboxs
    Par grumly22 dans le forum Langage
    Réponses: 8
    Dernier message: 20/06/2006, 14h38
  4. probleme d'alignement vertical
    Par mangamat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 15/02/2005, 22h46
  5. Probleme d'alignement.
    Par roots_man dans le forum ASP
    Réponses: 4
    Dernier message: 30/09/2004, 16h13

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