Eventuali duplicati:
What does this C++ code mean?Cosa significa "unsigned temp: 3" in una struct o in union?
Sto cercando di mappare una struttura C a Java utilizzando JNA. Mi sono imbattuto in qualcosa che non avevo mai visto.
Il struct
definizione è la seguente:
struct op
{
unsigned op_type:9; //---> what does this mean?
unsigned op_opt:1;
unsigned op_latefree:1;
unsigned op_latefreed:1;
unsigned op_attached:1;
unsigned op_spare:3;
U8 op_flags;
U8 op_private;
};
si possono vedere alcune variabile in fase di definizione, come unsigned op_attached:1
e io sono sicuro di cosa vorrebbe dire. Avrebbe questo effetto il numero di byte da allocare per questa particolare variabile?
Wow, questo è completamente nuovo anche per me. Bella scoperta! –
Aggiunto "due punti" per aiutarlo a cercare. –
La cosa migliore che puoi fare con i campi bit è di evitarli. Meglio usare il mascheramento e lo spostamento per accedere a gruppi di bit in numeri interi in un modo ben definito. – starblue