gpt4 book ai didi

ibm-midrange - CALLP 也是动态调用还是可以被视为 ILE RPG 中的静态调用

转载 作者:行者123 更新时间:2023-12-04 03:27:56 25 4
gpt4 key购买 nike

我有一个模块,里面有主程序和子程序,其他脚本使用 EXTPGM 调用模块,但很少有脚本不使用 EXTPGM 他们使用 CALLP,谁能帮我理解 CALLP 是动态调用还是ILE RPG 中的静态调用?

最佳答案

来自手册:

If the keyword EXTPGM is specified on the prototype, the call will bea dynamic external call; otherwise it will be a bound procedure call.

编辑
分辨率不变。它在第一次通话时就解决了。并且只要程序处于事件状态就不会重新解析。

该规则的异常(exception)情况是 EXTPGM() 与变量而不是常量一起使用;并且变量的值发生变化。

dcl-s pgmToCall varchar(21);
dcl-pr Mypgm extpgm(pgmToCall);
end-pr;

//SOMEPGM will be resolved twice
// assuming the library list hasn't change
// both will resolve to the same *PGM
pgmToCall = 'SOMEPGM';
Mypgm();
pgmToCall = '*LIBL/SOMEPGM';
Mypgm();

请注意,这并不是什么新鲜事。 RPGIII 和 RPGIV 中的 CALL 操作码以相同的方式工作。

关于ibm-midrange - CALLP 也是动态调用还是可以被视为 ILE RPG 中的静态调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67278006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com