Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, コンパイラーおよびランタイム 移行ガイド

宣言の順序を当てにする

ある変数を別の変数に続いて宣言する場合、ストレージ内でそれらの変数が隣り合っている、または 2 番目の変数がストレージ内で 1 番目の変数の後にあると推測してはなりません。

例えば以下のコードの場合、変数 a に割り振られているストレージは変数 b に割り振られているストレージの直後にない可能性もあるので、この代入は他の変数に割り振られているストレージの 100 バイトをオーバーレイすることがあり得ます。

   dcl a char(100);
        dcl b char(100);
        dcl c char(200) based;
        addr(a)->c = '';

実際には変数 b が未使用の場合、コンパイラーはその変数にストレージをおそらく割り振りません。


Terms of use | Feedback

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