在xilinx sdk中使用的是gcc
但是编译出来发现枚举类型并不是固定长度的
typedef enum{
HHHHHa = 0,
HHHHHb ,
HHHHHc ,
HHHHHd ,
HHHHHe ,
HHHHHf ,
HHHHHg ,
HHHHHh ,
HHHHHi ,
HHHHHj ,
HHHHHk ,
HHHHHl ,
HHHHHm ,
HHHHHHH = 0xffffffff
}testenum;
typedef enum{
HHHHHHa = 1,
HHHHHHb ,
HHHHHHc ,
HHHHHHd ,
HHHHHHe ,
HHHHHHf ,
HHHHHHg ,
HHHHHHh ,
HHHHHHi ,
HHHHHHj ,
HHHHHHk ,
HHHHHHl ,
HHHHHHm ,
HHHHHHHH = 0xffff
}testenum2;
typedef enum{
aHHHHHHa = 1,
aHHHHHHb ,
aHHHHHHc ,
aHHHHHHd ,
aHHHHHHe ,
aHHHHHHf ,
aHHHHHHg ,
aHHHHHHh ,
aHHHHHHi ,
aHHHHHHj ,
aHHHHHHk ,
aHHHHHHl ,
aHHHHHHm ,
aHHHHHHHH = 0xff
}testenum3;
typedef enum{
aaHHHHHHa = 1,
aaHHHHHHb ,
aaHHHHHHc ,
aaaHHHHHHd ,
aaHHHHHHe ,
aaHHHHHHf ,
aaHHHHHHg ,
aaHHHHHHh ,
aaHHHHHHi ,
aaHHHHHHj ,
aaHHHHHHk ,
aaHHHHHHl ,
aaHHHHHHm ,
aaHHHHHHHH = 0xffffffffffffffff
}testenum4;
printf("testenum=%d testenum2=%d testenum3=%d testenum4=%d \r\n",sizeof(testenum),sizeof(testenum2),sizeof(testenum3),sizeof(testenum4));
打印结果 为 :testenum=4 testenum2=2 testenum3=1 testenum4=8
可以看出枚举类型随着最大值而改变长度.