-1
我有两种结构:赛灵思Microblaze的结构填充/包装
Struct _size1 {
union{
short a;
struct {
char b;
char c;
}d;
struct {
char x;
char y;
}z;
};
union{
short a1;
struct {
char b1;
char c1;
}d1;
struct {
char x1;
char y1;
}z1;
};
}size1;
和:
Struct _size2 {
short num; //2 bytes
short num2; //2 bytes
short num3; //2 bytes
size1 st_size; //4 bytes
}size2;
的的sizeof(尺寸1)= 4; sizeof(size2)= 12;
我想要获得的尺寸是10尺寸2。
它添加NUM3和st_size之间的两个字节填充.. Microblaze的编译器不支持附注包
我想使用属性((包装)),但都没有成功...
Struct _size2 {
short num; //2 bytes
short num2; //2 bytes
short num3; //2 bytes
size1 st_size; //4 bytes
}size2 __attribute__((packed));
我不知道什么是错的,或者如果这甚至可以这样工作。
由于