gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010
-
20 sept. 2004 à 22:12
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
21 sept. 2004 à 18:41
salut à tous!
Quelqu'un pourrait m'expliquer ça sert à quoi le macro:
#pragma pack(push,2) et #pragma pack(pop) parceque quand je déclare une structure comme:
#pragma pack(push,2)
typedef struct{
unsigned short bfType;
unsigned long bfSize;
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned long bfOffBits;
} BITMAPFILEHEADER;
#pragma pack(pop)
si je mets pas ces macros, la sizeof(BITMAPFILEHEADER) vaut 16 au lieu de 14. Pourquoi? Merci.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 20 sept. 2004 à 22:51
push et pop sont des instructions asm, qui permettent respectivement d'empiler et de dépiler.
Dans ton cas, tu boures au début avec 2 octets pour obtenir un alignement multiple de 4, ensuite avec pop tu dépiles afin de récuperer l'allignement de ta structure.