CC-RHは,ビット・フィールドの並び順の切り替えを指定できます。
ビット・フィールドの割り付けは次の形式で指定します。
#pragma bit_order [{left|right}]
|
left を指定した場合は上位ビット側から,right を指定した場合は下位ビット側から,それぞれメンバが割り付けられます。
デフォルトはrightとなります。
#pragma bit_order right
struct {
unsigned long f1:30;
int f2:14;
unsigned int f3:6;
} flag;
|
この例に示したビット・フィールドに対する内部表現は,次のようになります
#pragma bit_order left
struct {
unsigned long f1:30;
int f2:14;
unsigned int f3:6;
} flag;
|
この例に示したビット・フィールドに対する内部表現は,次のようになります。
#pragma bit_order right
struct {
int f1:5;
char f2:4;
int f3:6;
} flag;
|
この例に示したビット・フィールドに対する内部表現は,次のようになります
#pragma bit_order left
struct {
int f1:5;
char f2:4;
int f3:6;
} flag;
|
この例に示したビット・フィールドに対する内部表現は,次のようになります