構造体をuint64_tまたは他のint型にキャストするきれいな方法がありますか?< = sizeof int? 私が考えることができる唯一のことは、「OK」ソリューション、すなわちユニオンを使用することです。しかし、私は一度も好きではありません。structを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をキャストしますか。
希望は少し明確になります。
memcpyのは常にありますが役に立てば幸い! –
@MartinBeckettこれは素敵な答えを作るだろう:) – dasblinkenlight
組合の「好き」ではない?組合は、明確で維持可能な方法で、あなたがしたいことを正確に行います。それについてちょうど「OK」は何ですか? –