リンク
リンケージ・エディターは、指定されたオブジェクト・ファイルをリンク・エディットして、1 つの実行可能ファイルを作成します。
1 つ以上の呼び出しコマンドを使用してコンパイラーを呼び出すと、次のいずれかのコンパイラー・オプションを指定した場合を除き、自動的にリンケージ・エディターが呼び出されます: -E、 -P、 -c、-S、-qsyntaxonly、または -#。
- 入力ファイル
- オブジェクト・ファイル、非ストリップ実行可能ファイル、およびライブラリー・ファイルは、リンケージ・エディターの入力データとして使用できます。オブジェクト・ファイルにはサフィックスが必要です (例えば、year.o など)。静的ライブラリー・ファイル名は .a のサフィックスが付きます (例えば、libold.a など)。動的ライブラリー・ファイル名は .so のサフィックスが付きます (例えば、libold.so など)。
- 出力ファイル
- リンケージ・エディターは、実行可能ファイル を生成して、
そのファイルを現行ディレクトリーに入れます。
実行可能ファイルのデフォルト名は a.out です。実行可能ファイルを明示的に命名するには、コンパイラー呼び出しコマンドに -o file_name オプションを使用してください。ここで、file_name はその実行可能ファイルに指定したい名前です。例えば、myfile.c をコンパイルして myfile という名前の実行可能ファイルを生成するには、以下のように入力します。
xlc myfile.c -o myfile
-qmkshrobj オプションを使用して共用ライブラリーを作成する場合、作成される共用オブジェクトは .so のファイル名拡張子を持ちます。
ld コマンドにより、明示的にリンケージ・エディターを呼び出すことができます。
ただし、コンパイラー呼び出しコマンドは幾つかのリンケージ・エディター・オプションを設定し、
デフォルトで幾つかの標準ファイルを実行可能出力にリンクします。ほとんどの場合、オブジェクト・ファイルをリンク・エディットするには、コンパイラー呼び出しコマンドの 1 つを使用することをお勧めします。
注:
オブジェクト・ファイルをリンク・エディットする場合、ld コマンドの -e オプションを使用しない でください。実行可能出力のデフォルト・エントリー・ポイントは、__start です。
-e フラグを指定してこのラベルを変更すると、
エラーの原因となる可能性があります。
関連情報