すべての PL/I ソースを再コンパイルすることを強くお勧めしますが、そ
うしない場合は、従来の PL/I オブジェクトと混合する Enterprise PL/I コード
をコンパイルする際、次のオプションを使用する必要があります。
- CMPAT(V2) (または、従来の PL/I で現在 CMPAT(V1) を使用している
場合はこのオプション)
- LIMITS(EXTNAME(7))
- NORENT
- BACKREG(5)
- BIFPREC(15)
また、新しいコンパイラーのオプションについて で説明したように、次のオプションのいくつ
かまたはすべてを使用することもできます。
- COMMON
- DEFAULT( LINKAGE( SYSTEM ))
- DEFAULT( OVERLAP )
- EXTRN(FULL)
- NOWRITABLE(PRV)
NOWRITABLE(PRV)
オプションを使用しないと、新コードと旧コードで CONTROLLED 変数
を共用することはできません。
上記のオプションをすべて使用した場合でも、新旧のオブジェクト・コ
ードの混合に関しては、次の制約事項があります。
- FILE 変数および定数は、1 つの例外を除いて新旧のコード間で共有できません。 SYSPRINT のみ、旧コードが LE でリンクされていれば新旧のコードで共有できます。 ただし、従来のコードによって書き出されたファイルを新しいコードによっ
て読み込むこと、およびその逆は可能です。
- 従来のコードを使用するときは必ず、従来の製品からのフェッチ/リリースに
関する制限がすべて適用されます。
特に、新しい MAIN が従来のモジュールの FETCH と CALL を正常に
実行した場合、従来のモジュールは別のモジュールの FETCH を
以後実行できなくなります。
- アプリケーション内に旧コードが存在する場合
は、DLL コードを呼び出すことはできません。
- OS PL/I V2R3 以前を使用してコンパイルされた従来のコードの場合:
- 言語環境プログラムを使用してリンクされていない従来の MAIN は、新しいモジュールの FETCH を実行できません。
- 以下の場合を除き、新しい MAIN は従来のモジュールに対して CALL または FETCH を実行できません。
- 新しい MAIN 内にリンクされたシグニチャー CSECT CEESG010 がある。または
- 従来のモジュールが、以下のいずれかの条件で、SCEELKED に再リンクされている。
- APAR PK23270 用の PTF が適用された後で。または
- 明示的 INCLUDE SYSLIB(CEESG010) を使用して。
これまで Enterprise PL/I では、旧コードで I/O 処理を行う場合、MAIN は旧コンパイラーでコンパイルしなければならないという制約事項がありました。
最新のライブラリー保守を適用している場合には、この制限事項はもはや無効となります。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)