This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: packed structures
- To: Tom Stokes <tstokes at pacbell dot net>
- Subject: Re: packed structures
- From: Budi Sutardja <budi at ricochet dot net>
- Date: Wed, 12 Aug 1998 00:52:24 -0700
- CC: CYGWIN32 <gnu-win32 at cygnus dot com>
- Organization: Aibase
- References: <000101bdc547$2b785c20$e645aace@TomStokes>
- Reply-To: aibase at netcom dot com
Tom Stokes wrote:
>
> The size of this structure is 12 which is wrong. What am I missing?
The "packed" modifier has to be applied to the structure
not the structure's members, to do what you want.
i.e.
typedef struct a {
long a;
char b;
short c;
short d;
} __attribute__((packed)) A;
sizeof(A) will be 9 not 12.
-- budi
> typedef struct HeaderTag {
> ULONG HeaderLength;
> CHAR PackingType __attribute__ ((packed));
> USHORT NumRows __attribute__ ((packed));
> USHORT PackedSize __attribute__ ((packed));
> } HeaderType, *pHeaderType;
>
> Also, I have a lot of structures to pack. Is there nothing like a #pragma
> pack(1) followed later by #pragma pack()?
>
> Tom Stokes
>
> -
> For help on using this list (especially unsubscribing), send a message to
> "gnu-win32-request@cygnus.com" with one line of text: "help".
--
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".