Everything

 

-stuff


コンパイル・オプション / オブジェクトオプション

[指定形式]

-stuff

[詳細説明]

-

stuffオプションを指定した場合、すべての変数をアライメント数に応じてアライメント数が4のセクション、2のセクション、1のセクションに配置します(表 2.4)。

-

【V3.01.00以降】 dpfpuオプションを指定した場合、doubleおよびlong double型の変数をアライメント数が8のセクションに配置します。

表 2.4

stuffオプション指定時の、各変数と出力先セクションの関係

変数の種類

変数のアライメント数

変数が所属するセクション

const修飾変数

4

C_8*1

 

C*2

2

C_2

1

C_1

初期値あり変数

4

D_8*1

 

D*2

2

D_2

1

D_1

初期値なし変数

4

B_8*1

 

B*2

2

B_2

1

B_1

switch文分岐テーブル

4

W

2

W_2

1

W_1

注 1.

変数の型がdouble/long double型で、かつdpfpuオプションを指定した場合。

注 2.

注 1. 以外の場合。

-

C、D、B はsectionオプションまたは#pragma sectionで指定したセクション名になります。

-

Wはsectionオプションで指定したセクション名になります。

-

各セクション内のデータは定義順に出力されます。

[例]

int a;
char b=0;
const short c=0;
struct {
        char x;
        char y;
} ST;
        .SECTION                C_2,ROMDATA,ALIGN=2
        .glb        _c
_c:
        .word                   0000H
        .SECTION                D_1,ROMDATA
        .glb        _b
_b:
        .byte                   00H
        .SECTION                B,DATA,ALIGN=4
        .glb        _a
_a:
        .blkl       1
        .SECTION                B_1,DATA
        .glb        _ST
_ST:
        .blkb       2

[備考]

-

-stuffオプションはB,D,CおよびW以外のセクションに対しては無効です。