Renesas Synergy™

FAQ 106240 : 構造体の配置される先頭アドレスを4N番地にしたいが方法はありますか?

long or int型のダミーメンバーを追加することで、構造体の境界調整数が4となり、4N番地のアドレスに配置されます。この時、共用体を用いることで、サイズの増加を抑止できます。


(例)[構造体にダミーメンバを追加]
struct {
char a;
char b;
int dummy;  // ダミー変数
}STR;
sizeof(STR) : 8バイト
[共用体を用いた場合]
union U{
struct {
char a;
char b;
}STR;
int dummy;   // ダミー変数
}REG;
sizeof(REG) : 4バイト

 

 

 

適用製品

SuperHファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください