【发布时间】:2013-07-05 18:22:37
【问题描述】:
我希望能够使用这样的东西来更清楚地访问我的端口:
typedef struct {
unsigned rfid_en: 1;
unsigned lcd_en: 1;
unsigned lcd_rs: 1;
unsigned lcd_color: 3;
unsigned unused: 2;
} portc_t;
extern volatile portc_t *portc;
但它安全吗?它对我有用,但是...
1) 是否有可能出现竞争条件?
2) gcc 是否为修改单个字段的代码生成读-修改-写周期?
3) 是否有更新多个字段的安全方法?
4) 钻头包装和顺序是否有保证? (在这种情况下,我不关心可移植性,因此特定于 gcc 的选项可以做到我的意思。)
【问题讨论】:
标签: c bit-fields