Everything
 

-pack


コンパイル・オプション / マイコンオプション

[指定形式]

-pack

 

-

省略時解釈

unpackです。すなわち、構造体メンバ、クラスメンバはそれぞれの型に応じたアライメント数を持ちます。また、構造体、クラスのアライメント数は、メンバの最大のアライメント数と同じになります。

[詳細説明]

-

構造体メンバ、クラスメンバのアライメント数を1にします。

-

構造体メンバのアライメント数は、#pragma pack 指令でも1にできます。オプションと#pragmaの両方が指定された場合には、#pragma指令を優先します。

[備考]

-

本オプション指定時の構造体メンバのアライメント数を以下に示します。

表 2.7

packオプション指定時の構造体メンバ、クラスメンバのアライメント数

メンバの型

pack指定あり

pack指定なし

char/signed char/unsigned char/bool 注1

1

1

signed short/unsigned short

1

2

signed int 注2/unsigned int 注2/signed long/unsigned long/

signed long long/unsigned long long/float/double/

long double/ポインタ型

1

4

注 1.

-lang=cオプションを指定した場合は、unsigned longと同じになります。

注 2.

int_to_shortオプションを指定した場合は、signed short/unsigned shortと同じになります。