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

MFC Discussion :

alignement de structure


Sujet :

MFC

  1. #1
    dus
    dus est déconnecté
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 73
    Points : 52
    Points
    52
    Par défaut alignement de structure
    bonjour,

    Doit-on répéter le pragma pack avant chacune des structures pour forcer l'alignement, ou une fois suffit-il ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    une fois suffit.

    généralement, plutôt que d'utiliser directement le pragma pack, on utilise les #include <pshpack2.h> (2 ou une autre valeur) et <poppack.h>...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    tut
    tut est déconnecté
    Membre averti
    Avatar de tut
    Inscrit en
    Juillet 2002
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 373
    Points : 394
    Points
    394
    Par défaut
    le fait de modifier l'alignement par défaut force le compilateur à générer du code non optimisé... donc personnellement, j'encadre la déclaration des structures que je souhaite aligner sur X octets, et pour le reste je laisse les alignements standards.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par tut
    le fait de modifier l'alignement par défaut force le compilateur à générer du code non optimisé... donc personnellement, j'encadre la déclaration des structures que je souhaite aligner sur X octets, et pour le reste je laisse les alignements standards.
    +1 ,surtout attention aux effets de bords avec les MFC notemment avec VC2005 ,je suis resté planté quelques jours sur ce probleme sur la migration d'un projet de vc6 vers vc2005.
    j'en parle dans mon tuto sur la migration.

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

Discussions similaires

  1. Structures et alignement de données
    Par Neckara dans le forum C
    Réponses: 15
    Dernier message: 17/12/2013, 20h44
  2. GCC et l'alignement d'une structure
    Par yan dans le forum C++
    Réponses: 5
    Dernier message: 17/10/2011, 08h37
  3. Alignement mémoire pour les structures.
    Par SpaceToto dans le forum Visual C++
    Réponses: 4
    Dernier message: 14/09/2006, 11h15
  4. alignement parasite dans une structure !
    Par - Robby - dans le forum C
    Réponses: 4
    Dernier message: 23/03/2006, 23h02

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