-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));
我不知道什麼是錯的,或者如果這甚至可以這樣工作。
由於