枚举类型大小与编译器有关在STM32岼台,kei 5编译器默认情况下枚举类型的内存大小与枚举的最大值的字节大小相同:
此处最大的枚举值为0x01,只需要1个字节就可以满足需要洇此编译器把此类型的大小只用一个字节来保存!
再开下面的,最大值是0x100超出0xFF,并且小于0xFFFF猜测用2位字节表示即可!
最大值是0x1000,超出0xFFFF並且小于0xFFFFFFFF,猜测用4位字节表示即可!
在kei5 平台下不运行超出4字节的枚举类型,超出部分是未知的比如我们打印出来test31的值,它并非0x:
在我的電脑里运行的值是0x6000D0在你们的电脑可能又不一样了。
实际上在定义这个值的时候编译器就警告了。
由此可以推出在STM32平台下,枚举类型朂大为4字节朋友们可以在其它平台做测试(比如64位的WINDOWS系统!)
keil5 还可以直接强制设置所有枚举型都是整形:
1、枚举类型大小与编译器有关,在STM32平台kei 5编译器,默认情况下枚举类型的内存大小与枚举的最大值的字节大小相同但最大字节数不超过4字节,超出部分不可用情况未知
2、可以通过编译器设定,强制将任何一种枚举型都转为4字节