(1)windows vc 开发平台上用#pragma pack(n),它不是对某个结构体操作,是对所有的结构的控制
(2)linux 平台上采用的是_attribute_((packed))加在结构体后面 如
struct downfile{
char flileText[20];
char fileName[20];
unsigned int fileLen;
}__attribute_((packed));
取消了优化对齐,按实际占用字节数进行对齐,当然另一种变化
typedef struct test_struct_2{
char char_var;
int int_var;
} __attribute__((packed))packed_struct;
更多的控制 __attribute__((__aligned__(size)));
阅读(768) | 评论(0) | 转发(0) |