13.6 RESOLVE ステアリングファイルコマンド

特定の未定義の参照と、定義済みのグローバルシンボルとのマッチングを行います。

構文

RESOLVE pattern AS defined_pattern

各項目には以下の意味があります。

pattern

ワイルドカード文字(* または ?)をオプションで含めることができる、0 個以上の未定義のグローバルシンボルに一致する文字列。 pattern がどの未定義のグローバルシンボルとも一致しない場合、そのコマンドは無視されます。オペランドは、未定義のグローバルシンボルのみと一致することができます。

defined_pattern

オプションでワイルドカード文字を含めることができる、0 個以上の定義済みグローバルシンボルに一致する文字列。defined_pattern がどの定義済みグローバルシンボルとも一致しない場合、そのコマンドは無視されます。未定義参照と未定義シンボルの照合を行うことはできません。

使用法

RESOLVE は、既存の armlink--unresolved コマンドラインオプションを拡張するコマンドです。違いは、 --unresolved を使用すると、すべての未定義参照について 1 つの定義との照合ができるのに対して、RESOLVE ではより限定的な参照とシンボルの照合ができる点です。

未定義参照は、出力シンボルテーブルから削除されます。

RESOLVE は、部分的なリンクを実行するときでも、通常のリンクを実行するときでも機能します。

次の例に示すように、file1.cfile2.c の 2 つのファイルがあるとします。

RESOLVE コマンドの使用
file1.c extern int foo; extern void MP3_Init(void); extern void MP3_Play(void); int main(void) {   int x = foo + 1;   MP3_Init();   MP3_Play();   return x; } file2.c:int foobar; void MyMP3_Init() { } void MyMP3_Play() { }

次の行を含む ed.txt というステアリングファイルを作成します。

RESOLVE MP3* AS MyMP3*

以下のコマンドを入力します。

armlink file1.o file2.o --edit ed.txt --unresolved foobar

このコマンドでは、以下の処理が行われます。

関連する概念
6.19 ステアリングファイルとは
関連する参考文書
12.45 --edit=file_list
12.158 --unresolved=symbol
非機密扱い PDF file icon PDF 版 ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.