Re: using typedef to create aligned types

"Brett Bibby" <[email protected]> Thu, 2 Dec 2004 08:11:52 +0800
Newsgroups gmane.games.devel.windows
Organization GameBrains
Message-ID <[email protected]>
Not sure what kind of type Fred is, but Fred and Fred Aligned are the same 
type, thus the same size.  They just _start_ at an aligned location in RAM. 
If Fred is a struct, your alignment doesn't say anything about the alignment 
of each element _within_ the struct.  If Fred is an element of a struct, 
then that would effect the size of the struct it is contained within.

If you are trying to align data within structs, it's better to pack them 
nicely and align the struct start address than peppering code with 
alignments everywhere.  There's a presentation about cache issues you might 
want to check out:

http://www.gdconf.com/archives/2003/Ericson_Christer.ppt

-Brett

----- Original Message ----- 
From: "Andras Balogh" <[email protected]>
To: <[email protected]>
Sent: Thursday, December 02, 2004 7:45 AM
Subject: [GD-Windows] using typedef to create aligned types


> MSDN says that I can use typedef to make aligned versions of my types, eg:
>
> typedef __declspec(align(16)) Fred FredAligned16;
>
> This works when I declare variables, eg:
>
> Fred fred1;
> FredAligned16 fred2;
>
> fred2 is 16 bytes aligned, while fred1 is not
>
> But the strange thing is that sizeof(Fred) == sizeof(FredAligned16) is 
> true,
> even though Fred's size is not a multiple of 16 bytes...
>
> When I declare different types (ie. not using typedef), then the sizeof 
> will
> be different because the aligned type will be padded to the next multiple 
> of
> 16 bytes.
>
> Is this a bug in the compiler??
>
>
>
> Thanks,
>
> Andras
>
>
>
>
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://productguide.itmanagersjournal.com/
> _______________________________________________
> Gamedevlists-windows mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
> Archives:
> http://sourceforge.net/mailarchive/forum.php?forum_id=555
> 



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
Gamedevlists-windows mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_id=555