有铸造结构为uint64_t中或任何其他int类型的清洁方式,因为在结构= <到的sizeof诠释? 我唯一能想到的只是一个'好'的解决方案 - 使用工会。不过,我从来没有喜欢他们。铸造结构转换成int
让我添加一段代码,以澄清:
typedef struct {
uint8_t field: 5;
uint8_t field2: 4;
/* and so on... */
}some_struct_t;
some_struct_t some_struct;
//init struct here
uint32_t register;
现在怎么办我投some_struct捕捉其位uint32_t的寄存器顺序。
希望能让它更清晰一些。
人们总是memcpy的! – 2012-08-10 14:32:16
@MartinBeckett这将是一个不错的答案:) – dasblinkenlight 2012-08-10 14:33:02
不喜欢工会?工会正以您清楚,可维护的方式完成您想做的事。什么只是“确定”呢? – 2012-08-10 14:34:26