1

我正在使用编译器选项 PGMN(LM),DLL,EXPORTALL 在 zOS 中将 COBOL 程序编译为 DLL 当我这样做时,它还会强制编译为 NODYNAM。在这种情况下,我可以使用其他一些参数来强制调用到其他子程序的调用是动态的(即在运行时解析)。我知道我可以使用 CALL 变量名方法来完成此操作,但我无法使用 DSNELI(DB2 调用接口)之类的系统例程来完成此操作。

IMPORT 选项与此有关吗?

谢谢!

4

2 回答 2

1

所有 DLL 必须符合 NODYNAM。这是无法避免的。正如您所指出的,使用 NODYNAM 并不排除使用该CALL var-name方法的动态程序调用。只要您对本地开发的例程使用动态调用,您将保持程序中没有静态链接模块的所有优点。

较少关注静态链接系统模块,例如CALL 'DSNELI'. 这些是存根程序,将在运行时动态加载适当的语言接口模块。请参阅通用语言界面

于 2013-06-05T14:25:08.787 回答
1

一般来说,您希望对这些系统例程的调用是静态的。这些例程往往是在运行时定位“真实”例程的存根。

于 2013-06-05T11:42:15.520 回答