|
定义了这样一个结构体:
#include <stdlib.h>
int main()
{
typedef struct tagRGBTRIPLE {
unsigned char rgbtRed;
unsigned char rgbtGreen;
unsigned char rgbtBlue;
} RGBTRIPLE;
printf("struct size = %d.\n", sizeof(RGBTRIPLE));
}
编译 gcc -o test test.c /arm-linux-gcc -o test test.c
分别求结构体的大小:
gcc 显示大小为3, 版本3.2.2(RH9) 和3.4(FC3)都一样
arm-linux-gcc 显示大小为4,版本为3.3.2
为什么会这样了。我在结构体定义上加上#pragma pack(1) 也不管用,
大家有没有遇到这样问题的??多谢 |
|