Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

PL/I メインからの非 PL/I ルーチンの呼び出し

メインルーチンが PL/I でコード化されている場合、2 種類の非 PL/I ルーチンを呼び出すことができます。

システム・ルーチンは、独自のランタイム環境は必要としません。また、それらは PL/I 実行可能 (.EXE) ファイルまたはダイナミック・リンク・ライブラリー (.DLL) に直接リンクすることができます。 IBM VisualAge C/C++ ルーチンを除いて、その他のすべての非 PL/I ルーチンは、.EXE または .DLL に直接リンクすることはできません。 その代わり、それらは、.DLL がロードされたときに、それらに必要なすべてのランタイム環境の初期化を行えるように、.DLL にリンクする必要があります。

IBM VisualAge C/C++ ルーチンは、PL/I とリンクできます。ただし、C ルーチンが PL/I とリンクされており、それらのいずれかが C ライブラリー関数を 使用する (または C ライブラリー関数自身である) 場合は、ルーチンを呼び出す前に C ランタイム を初期化する必要があります。C ランタイムは、次のルーチンを呼び出すことで初期化できます。

 dcl _CRT_init  ext('_CRT_init')
                entry()
                returns( optional fixed bin(31) )
                options( linkage(optlink) );

また、C ランタイムが、オープンしたすべてのファイルをクローズし、獲得した可能性のあるその他すべてのシステム・リソースを戻すようにするには、以下を呼び出すことにより、C ランタイムを終了する必要があります。

 dcl _CRT_term  ext('_CRT_term')
                entry()
                returns( optional fixed bin(31) )
                options( linkage(optlink) );

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)