在KEIL C中编译出来怎么占一个字节

2019-08-05 18:13发布

union {
       struct {
          unsigned b0:1;
          unsigned b1:1;
          unsigned b2:1;
          unsigned b3:1;
          unsigned b4:1;
          unsigned b5:1;
          unsigned b6:1;
          unsigned b7:1;
          }oneBit;
         unsigned char allBits;
        } myFlag;
#define fast    myFlag.oneBit.b0
#define mid     myFlag.oneBit.b1
#define slow    myFlag.oneBit.b2
#define flow    myFlag.oneBit.b3
#define voice   myFlag.oneBit.b4
#define pause   myFlag.oneBit.b5
#define white   myFlag.oneBit.b6
#define on_off  myFlag.oneBit.b7
#define mark    myFlag.allBits
上面的语句在PICC中编译出来每一个占一个位,但在KEIL C中编译出来怎么占一个字节啊?如果在在KEIL C 中要实现如上功能,应该怎么写呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
lizye
1楼-- · 2019-08-06 07:22
对啊,而且看上去省了资源,实际上不是那么回事,尤其是在不支持bit的体系上……
jiaxw
2楼-- · 2019-08-06 09:19
哦,是这么回事啊
jiaxw
3楼-- · 2019-08-06 11:49
慢慢捂唔,先结贴了

一周热门 更多>