[问题] 不同compiler对bit field的处理方式不同?

楼主: zzss2003 (brotherD)   2017-07-20 11:47:06
想请问一下,一个struct里面的member被宣告为unsigned的变量,代表这个struct的size
就是4byte(在GCC平台下),那假如我里面的成员总共的大小不到4byte,那是不是代表其他
的空间就被浪费掉了?
我会有这个疑问是我目前在用PIC的XC8编译器,里面header档对register(8bit)各个脚位
的定义都是用unsigned(在XC8为2byte大),对于一个内存空间非常有限的MCU,不太可能
每个register都浪费一个BYTE吧?
所以我在想,会不会XC8可以在struct里面自动把这个type型别转成1byte宽(我只想问可不
可以达到这个功能)
楼主: zzss2003 (brotherD)   2017-07-20 11:52:00
不好意思,这问题已经解决了。Manual里面有写,但我英文不好,重看一遍才懂他想表达的意思
作者: chuegou (chuegou)   2017-07-20 22:36:00
struct成员可以带长度阿 冒号+bit数量
作者: LPH66 (-6.2598534e+18f)   2017-07-21 06:44:00
他就是在问那个 bit 字段的底层分配...

Links booklink

Contact Us: admin [ a t ] ucptt.com