none
Auto alignement mémoire Visual C++ désactivé RRS feed

  • Question

  • Bonjour, j'ai un problème avec l'auto-alignement mémoire de Visual C++ qui semble s’être désactivé, je n'ai pourtant pas souvenir d'avoir modifier une option lié à cela dans les paramètres de mon projet.

    Mon programme tourne sur architectures x64 et il est très important pour mon programme que ces membres soient auto-aligner sur 64 bits.

    Ci dessous image de ma structure dont les membres ne sont pas auto-aligner (elle n'est pas emballer dans un pragma pack)

    https://i.imgur.com/2wgW2Rh.png

    Ci dessous image de la structure avec des données (le bloc de gauche montre une instance de ma structure dans mon programme, et celui de droite les valeurs pour vous aider à vous y repérer)

    https://i.imgur.com/rFnEIP6.jpg

    Je sait que je pourrait remédier à ce problème en ajoutant des valeurs "paddings" de 32 bits ou en passant mes entiers 32 bits à 64 bits mais il y'a beaucoup de structures comme ça dans mon programme et cela alourdirait les choses, je cherche donc à ré-activer l'auto-alignement mémoire de Visual Studio.

    J'ai déjà essayer l'option "Alignement des membres de la structure" en la définissant sur /Zp8 mais cela n'a rien changé.


    Merci de votre précieuse aide.

    dimanche 30 décembre 2018 16:24

Réponses

  • Je viens de résoudre mon problème, j'avait mal fermer un pragma pack, #pragma pack(pop, 1) au lieu de #pragma pack(pop),  ce qui s'est répercuté sur tout les fichiers incluant mon header erroné.

    Désolé du dérangement.
    • Marqué comme réponse Lowel SASSI dimanche 30 décembre 2018 17:11
    dimanche 30 décembre 2018 17:11