Original Post
🔒 Locked
32bit Alignment
Advertisement
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.).
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.).
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.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement