比如,我在 C 中定义的以下结构,size 是 8 个字节,能不能定义为未对齐前的 5 个字节?typedef struct {
    char a;
    int  i;
} MYSTRUCT;谢谢!

解决方案 »

  1.   

    在你的程序加入的头文件下面加入
    #pragma pack(1)比如
    #include "stdafx.h"
    #include "resource.h"#define MAX_LOADSTRING 100
    #pragma pack(1)这样就是5了
      

  2.   

    更改C编译器的缺省分配策略
      一般地,可以通过下面的两种方法改变缺省的对界条件:
      · 使用伪指令#pragma pack ([n])
      · 在编译时使用命令行参数
    #pragma pack ([n])伪指令允许你选择编译器为数据分配空间所采取的对界策略.可以看看这个
    http://dev.csdn.net/article/26/26437.shtm
      

  3.   

    谢谢!看来 VC 在这点没有 Delphi 方便啊。