Archived

This topic is now archived and is closed to further replies.

32bit Alignment

This topic is 5971 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I think the fact that size_t and byte* are (almost certainly) 32-bit variables will mean that they are aligned on a 32-bit boundary anyway. But I don''t technically know how to force this.

Share this post


Link to post
Share on other sites
Kylotan,

While (byte *) is a 4 byte value (since it holds an address), it''s the address that needs to be on a 4-byte alignment. It''s a big deal for anyone who has done any MIPS low-level programming (since all Longs must be on 4 byte boundary, Words on 2 byte boundary, etc.).

Share this post


Link to post
Share on other sites
BeerNutts, I know what you''re getting at, but I was just making the point that compilers tend to start 4-byte variables on 4-byte boundaries anyway (they are just as conscious of speed as assembly programmers ). For example, I don''t think Visual C++ puts any data across a 4-byte boundary by default: you have to use #pragma pack to get it to do so, otherwise it uses empty padding inbetween.

Share this post


Link to post
Share on other sites