digitalmars.D.learn - struct members align
- alxdef (10/10) Apr 28 2008 I have some problem with struct alignment. My struct is:
I have some problem with struct alignment. My struct is: struct some_struct { ubyte member1; ubyte member2; ubyte member3; ushort member5; ushort member6; } The appearance of members is fixed. member5 shifted by 1 byte down to member6. How to fix this problem?
Apr 28 2008
alxdef wrote:I have some problem with struct alignment. My struct is: struct some_struct { ubyte member1; ubyte member2; ubyte member3; ushort member5; ushort member6; } The appearance of members is fixed. member5 shifted by 1 byte down to member6. How to fix this problem?align(1) struct some_struct { ... } will do the trick, I think.
Apr 28 2008
Lutger Wrote:align(1) struct some_struct { ... } will do the trick, I think.As Russians say: The fakir was drunk, trick is not has gone right. :-(
Apr 28 2008
alxdef wrote:Lutger Wrote:Which compiler? Or have I misunderstood the question mayhaps, this program works under dmd 1.027: struct some_struct { ubyte member1; ubyte member2; ubyte member3; ushort member4; ushort member5; } align(1) struct some_struct2 { ubyte member1; ubyte member2; ubyte member3; ushort member4; ushort member5; } void main() { assert(some_struct.sizeof == 8); assert(some_struct2.sizeof == 7); }align(1) struct some_struct { ... } will do the trick, I think.As Russians say: The fakir was drunk, trick is not has gone right. :-(
Apr 28 2008