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

入力専用パラメーター

プロシージャーに、入力専用に使われる BYADDR パラメーターが含まれている場合は、そのパラメーターを NONASSIGNABLE として 宣言するのが (ASSIGNABLE のデフォルト属性を取得させるのではなく) 最良の方法です。 プロシージャーがあとからそのパラメーターの定数を使って呼び出された場合、コンパイラーは静的ストレージに定数を入れ、その 静的領域のアドレスを渡します。

この方法は、レジスターに渡すことができないストリングやその他のパラメーターに特に役立ちます (レジスターに渡すことができる 入力専用パラメーターは、BYVALUE として宣言するのが最良です)。

例えば、次の宣言では、

dosScanEnv が 入力専用の CHAR VARYINGZ ストリングです。

  dcl dosScanEnv entry( char(*) varyingz nonasgn byaddr,
                        pointer byaddr )
                 returns( native fixed bin(31) optional )
                 options( nodescriptor linkage(system) );

ストリング「IBM.OPTIONS」が指定されてこの関数が呼び出されると、コンパイラーは、コンパイラーが 生成した一時記憶域にそのストリングを割り当て、その領域のアドレスを渡すのではなく、ストリングのアドレスを渡すことができます。


Terms of use | Feedback

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