リンク・エディット処理されるコンポーネントの定義

標準的なリンケージ・エディターは、出力としてロード・モジュールを作り出します。 標準的なリンケージ・エディターからのロード・モジュール出力でソフトウェア・コンポーネントを定義する場合には、リンク・エディット制御 (LEC) アーキテクチャー・メンバーを使用します。 LEC アーキテクチャー・メンバーには、完全なロード・モジュール作成に必要なすべての情報があります。LEC アーキテクチャー・メンバーを使用すると、次の情報が明らかになります。 LEC アーキテクチャー・メンバーには、少なくとも 1 つの LINK、INCL、INCLD、または SINC ステートメントと 1 つの LOAD ステートメントがなければなりません。

リンク・エディット制御 (LEC) アーキテクチャー・メンバーは、 ソース・メンバー、CC アーキテクチャー・メンバー、汎用アーキテクチャー・メンバー あるいは LEC アーキテクチャー・メンバーの、いずれの組み合わせの参照によっても構成できます。 LEC アーキテクチャー・メンバーへの入力の識別は、 CC アーキテクチャー・メンバーへの入力の識別と同様に行われます。 1 つの差異は、デフォルトに LEC アーキテクチャー・メンバーは リンケージ・エディターへの入力ストリームにおいて OBJ および LOAD ステートメントが生成した オブジェクト・モジュールとロード・モジュールを含む点です。 SINC ステートメントを LEC アーキテクチャー・メンバーに使用して、プロジェクト外で生成された オブジェクト・モジュールあるいはロード・モジュールを識別できます。 SINC ステートメントを使用してロード・モジュールを組み込んでいる場合、 ビルド変換プログラムの入力 DD 名で KEYREF=INCL を指定することが必要です。 さらに追加のステートメントを LEC アーキテクチャー・メンバーに使用して、 リンケージ・エディターへの入力を識別できます。 そのステートメントは LINK ステートメントです。 これは、入力ストリームへの組み込み前に再作成する必要がない プロジェクトでの出力を識別します。

SCLM は、入力のリンク・エディットの前に、 LEC アーキテクチャー・メンバーが最新であるかを検査します。 SCLM は、プロジェクトの別のメンバー組み込みの出力が 未更新である場合、 その入力を再作成します。 LINK ステートメントに指定された入力は例外です。 この入力は再作成されません。

PARM ステートメントを使用すれば、デフォルトのリンケージ・エディター・オプションを指定変更することができます。 必要に応じてこのステートメントをいくつでも使用して、所要のオプションのすべてを指定して ください。 SCLM は、LKED ステートメントによってデフォルトが変更されていない限り、 LE370 言語定義に定義されているように標準の S/370 リンケージ・エディターを使用します。 詳しくは、ステートメントの用途 の LKED を参照してください。

LEC の中で、SCLM が CMD ステートメントを使用して、リンク・エディット制御ステートメントを リンケージ・エディターに直接渡すよう指定できます。 LEC アーキテクチャー・メンバーの位置付けに注意して、オブジェクト・モジュールやロード・モジュールとともに制御ステートメントを挿入してください。

CMD ステートメントを使用して、 プロジェクト外のデータ・セット内のオブジェクト・モジュールとロード・モジュールを組み込むことができます。 リンケージ・エディターの言語定義には、 組み込むメンバーを含むデータ・セットを参照する DD 名を含めることが必要です。

SCLM は、リンケージ・エディター・リストを一時リスト・データ・セットに生成して、ユーザーがビルド時にオンラインで表示できるようにします。 オプションの LMAP アーキテクチャー・メンバー・ステートメントを使用して、これらのリストをデータベース内のメンバーに保管することができます。 LMAP ステートメントを指定しないと、オンライン・リンケージ・エディター・リストは保管されません。 ディスク・スペースに制限があるためにリストの破棄を選択することもできます。 もう 1 つのオプションとして、リストを圧縮することができます。 ISPF サンプル・ライブラリー ISP.SISPSAMP には、2 つのサンプル・メンバー FLM03ASM および FLM03LMC が入っており、これらは LMCOPY サービスで PACK オプションを使用して SCLM リストを圧縮する方法を示します。 これらのメンバーの使用方法を説明するコメントがコードに入っています。

LEC アーキテクチャー・メンバーでは、SETSSI リンケージ・エディター・コマンドは使用できません。 ビルド時に、SCLM が LEC アーキテクチャー・メンバーで CMD SETSSI ステートメントを見つけると、ビルド機能は、そのステートメントをそれ自体の SETSSI コマンドで置き換えます。