Bonjour,
Je connais très peu cette notion de padding.
D'après ce que j'ai cru comprendre, tout champ d'une structure doit commencer à un multiple de sa taille. Si on force la largeur des membres via un champs de bits via la syntaxe suivante :
Puis-je me contenter d'enchaîner les membres, en m'assurant de tomber pile sur les multiples de 32 bits (ou 64 bits) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 class A { .... uint_32t mValue : 5; .... };
Si, sur une archi 32 bit, je n'ai besoin que de 30 bits, dois-je explicitement faire un champ de 2 bits que je n'utiliserai pas ?
Dois-je découper ma structure en plusieurs structure, pour limiter la taille de la structure à 32 ou 64 bits ?
Si je travaille en 64 bits, et que j'ai besoin d'une structure à 90 bits, la meilleure solution est-elle de faire une classe de 64 bits, et une autre de 32 bits (cette dernière comportant éventuellement des bits de remplissage) ?
Partager