メインプログラムと呼び出し先プログラム
Program custProcessing1 type basicProgram (customerNum INT)
// 必要な main() 関数
function main()
// 渡された顧客番号に基づいて
// 正しい顧客名を取得
customerName = getCustName(customerNum);
...
end
// 別の関数
Function getCustName(customerNum INT) returns (CHAR(25))
...
end
end
program custProcessing1 type basicProgram (customerNum INT)
program custProcessing1 type basicProgram ()
program custProcessing1 type basicProgram
customerName CHAR(30)
...
call custProcessing1(customerName);
program custProcessing1 type basicProgram (custName CHAR(80) inout)
EGL はポインターを customerName 変数に渡すことから、custName 変数の実際の長さは 30 文字になります。custName 変数の桁 31 から 80 に書き込む場合、これはプログラムでは正しい操作ですが、ランダム・メモリーを上書きすることがあります。 このような未定義の振る舞いが発生する場合には、EGL デバッガーから警告が出される点に注意してください。
呼び出し先プログラムの詳細については、プログラム間での制御の移動を参照してください。