内存对齐(自然对齐)

    技术2022-05-20  55

    参考:http://my.unix-center.net/~Simon_fu/?p=262

     

    今天与超,晖,栋,宇几人论此问题,终得以下结论,不知正确与否,姑且记下。

     

    对于32位机,CPU的内存读写周期是4WORD,所以在内存对齐时,皆以此填满。

     

    如:

     

    struct A

    {

         char a;

         double b;

         char c;

    };

     

    sizeof(A)=4+8+4=16;

     

    struct B

    {

          char a;

          double b;

          char c;

          char d;

    };

    sizeof(B)=4+8+4=16;

     

    然仍觉得不踏实,因为没有官方的说明,遂网查,稍有理解(http://www.cnblogs.com/shitouer/archive/2010/04/07/1706588.html)谢谢石头兄!

     

    不过按照那个理解,似乎还是有些说不通,对他举的那个例子是可行的,可对我上面所举的例子行不通,姑且先这样吧,迫不及待

     

    把这些写下来了,稍后理解了再继续,==。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     


    最新回复(0)