-VFINFO


変数/関数情報ファイルを出力します。

[指定形式]

-VFINFO[=file]                    【V1.04以前】
-VFINFO[=[file][(attribute,...)]] 【V1.05以降】

 

-

省略時解釈

変数/関数情報ファイルを出力しません。

[詳細説明]

-

fileには,変数/関数情報ファイル名を指定してください。

-

ファイル名を省略した場合は,変数/関数情報ファイルとしてvfinfo.hを出力します。

-

ファイル名に拡張子がない場合,”.h”を拡張子とします。

-

出力属性attributeに指定可能なものは,callt,near,rom_forbid,またはfar_forbidです。出力属性により,以下のように変数/関数情報ファイルを作成します。【V1.05以降】

変数情報

出力属性

内容

指定なし

saddr領域の余剰分,参照回数の多い変数に対して#pragma saddrを出力します。

既にsaddr変数として宣言しているものは参照回数に関わらずsaddr変数を維持し,#pragma saddrの出力対象とせずコメントアウトして変数情報を出力します。

関数情報

出力属性

内容

指定なし

または callt

calltエントリまたはnear領域の余剰分,呼び出し回数の多い関数に対して#pragma calltを出力します。

既にcallt関数として宣言しているものは,呼び出し回数に関わらずcallt関数を維持し,#pragma calltの出力対象とせずコメントアウトして関数情報を出力します。

near

near領域の余剰分,呼び出し回数の多い関数に対して#pragma nearを出力します。

既にcallt関数またはnear関数として宣言しているものは,呼び出し回数に関わらず#pragma nearの出力対象とせずコメントアウトして関数情報を出力します。

callt,near

calltエントリまたはnear領域の余剰分,呼び出し回数の多い関数に対して#pragma calltを出力します。

既にcallt関数として宣言しているものは,呼び出し回数に関わらずcallt関数を維持し,#pragma calltの出力対象とせずコメントアウトして関数情報を出力します。

次に,残りの関数の中から,near領域の余剰分,呼び出し回数の多い関数に対して#pragma nearを出力します。既にnear関数として宣言しているものは,呼び出し回数に関わらずnear関数を維持し,#pragma nearの出力対象とせずコメントアウトして関数情報を出力します。

rom_forbid

ROMオプションで指定したセクションの関数を,#pragma calltまたは#pragma nearの対象から外します。

far_forbid

絶対アドレスで指定したセクション,-startオプションでfar領域に指定したセクションの関数を,#pragma calltまたは#pragma nearの対象から外します。

[使用例]

-

変数/関数情報ファイルをfile.hに出力します。

>rlink a.obj b.obj -vfinfo=file.h

[備考]

-

本オプションは,-form={object|relocate|library}オプション,-stripオプション,または-extractオプションを指定した場合は無効となります。

-

-deviceオプションを指定していない場合,本オプションは無効となります。

-

セクションの配置アドレスが使用可能なアドレス範囲を超える場合,変数/関数情報ファイルには,配置可能な領域内に配置できたシンボル情報とセクション情報のみを出力します。【V1.04】

-

セクション割り当てがオブジェクトファイル仕様領域外の場合はワーニングを出力し,外部変数割り付け情報ファイルを出力します。【V1.05以降】