【发布时间】:2012-06-05 23:08:20
【问题描述】:
这是我的位域
struct {
unsigned char v64 : 1;
unsigned char leg : 7;
} valid;
然后我收到警告:
main.c:17:3: warning: type of bit-field ‘v64’ is a GCC extension [-pedantic]
main.c:18:3: warning: type of bit-field ‘leg’ is a GCC extension [-pedantic]
如果我更改为int,则没有警告。但我想要一个字节的位域(无符号字符)。
怎么做?
【问题讨论】:
-
int在位域内部具有特殊含义。sizeof(struct valid)是什么? -
@Pubby: 使用 int, = 4;无符号字符 = 1。
-
这是一个非常常见的编译器扩展。也许你应该忽略警告,吃掉你的蛋糕。
标签: c