节约时间就用自然对齐方式,这样符合硬件结构
但是在网络编程中间,往往为了方便
采用了
#PRAGMA PACK(1)
目的是紧凑对齐

解决方案 »

  1.   

    Vc将不够4字节得用4字节
    例: struct a{
                  char a[2];
                              }数组a占4字节,紧凑对齐占2字节
      

  2.   

    有没有关于这些知识的书推荐呀?
    [email protected]
    谢谢各位!
      

  3.   

    采用#PRAGMA PACK(1)
    VC默认#PRAGMA PACK(8)
    在project->setting->c/c++ ->code generation中可以设置
      

  4.   

    采用#PRAGMA PACK(1)
    VC默认#PRAGMA PACK(8)
    在project->setting->c/c++ ->code generation ->struct member alignment中可以设置
      

  5.   

    这个很简单,你加入这么一条编译指令
    然后使用sizeof操作这个结构体观察大小就知道了
    自然对齐的话
    struct a{
    char a;
    short b;
    char c;
    }占有的字节为,a 占2个,B占个,c占2个
    紧凑对齐时候,a 1,b2,c1;}