構造体が <= int の sizeof であることを考えると、構造体を uint64_t または他の 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;
uint32_t レジスターのビット順序をキャプチャーするために some_struct をキャストするにはどうすればよいでしょうか。
それが少し明確になることを願っています。