Everything
2.6.6 near,farとの関係

データや関数のnear/far属性は,オプション,およびキーワードで決まります。

near/far属性の決定方法を以下に示します。

 

オプション,キーワード

near/far属性の決定方法

優先度

(a)

-cpu

デフォルトのnear/far属性を決める。

1

(b)

-memory_model

(a)で決めたデフォルトのnear/far属性を上書きする。

2

(c)

-far_rom

(b)で決めたnear/far属性にROMデータのみfar属性を上書きする。

3

(d)

__near/__far

(a)~(c)の影響を受けない。__near,_far記述が有効になる。

4

 

上記の表の(b)と(c),すなわち-memory_modelオプションと-far_romオプションについて,前者だけ指定した場合,および両方を指定した場合の関数,ROMデータ,RAMデータのnear/far属性を以下に示します。

-memory_model=type指定におけるtypeの値

-far_rom指定

関数

ROMデータ

RAMデータ

small

なし

near

near

near

medium

far

near

near

small

あり

near

far

near

medium

far

far

near