Dynamic 调用COBOL程序的默认模式是什么?静态还是动态?

Dynamic 调用COBOL程序的默认模式是什么?静态还是动态?,dynamic,static,directive,cobol,mainframe,Dynamic,Static,Directive,Cobol,Mainframe,我最近接受了一次采访,被问到以下问题: 当没有指定编译器选项时,如何调用cobol程序? 静态还是动态 我回答了dynamic,但我不确定正确答案是什么。不太清楚您使用的是什么编译器,但我找到了以下文档: 使用DYNAM使通过CALL literal语句调用的非嵌套、单独编译的程序在运行时为CALL而加载,为CANCEL而删除 以下是提供的示例语法: DYNAM option syntax .-NODYNAM-. >>-+-DYNAM---+-----------------

我最近接受了一次采访,被问到以下问题:

当没有指定编译器选项时,如何调用cobol程序? 静态还是动态


我回答了dynamic,但我不确定正确答案是什么。

不太清楚您使用的是什么编译器,但我找到了以下文档:

使用DYNAM使通过CALL literal语句调用的非嵌套、单独编译的程序在运行时为CALL而加载,为CANCEL而删除

以下是提供的示例语法:

DYNAM option syntax

.-NODYNAM-.   
>>-+-DYNAM---+-------------------------------------------------><
DYNAM选项语法
-诺丁南-。
>>-+-发电机---+------------------------------------><
委员会还注意到

默认值为:NODYNAM

缩写为:DYN | NODYN

因此,默认设置似乎是静态的(非动态的),动态是一个编译器选项


如果这不是您正在使用的编译器,请更新您的问题,以便我们找到正确的版本。

DYNAM上的其他答案对于编译器如何从IBM发货是正确的;假设这是一个IBMCOBOL编译器

默认值:NODYNAM

也就是说,每个安装都会为编译器设置自己的安装默认值,在大多数情况下,这些默认值会建立与编译器默认值不同的首选最小值或默认值选项。一般来说,这些与编译器默认值非常不同。为了保持产品的一致性,这些默认值不会随着时间的推移而改变。它们不代表行业规范或偏好

编译器选项是针对Enterprise COBOL for z/OS 6.2.0编写的

请注意有关安装默认设置的注释:

安装默认值:设置的默认编译器选项 安装编译器时,对程序有效,除非 您可以覆盖这些选项。(在某些安装中,某些编译器 选项是固定的,因此您无法覆盖它们 默认选项有问题,请与系统管理员联系。) 要确定哪些是默认选项,请运行测试编译 不指定任何编译器选项。输出列表列出了 在您的网站上生效的默认选项。

当没有指定编译器选项时,如何调用cobol程序?静态还是动态

这似乎是一个技巧性的问题,因为默认值是:
callliteral
是静态的,
callidentifier
是动态的

看,, 企业COBOL for z/OS,编程指南,版本6.2, SC27-8714-01

第338页,DLL

默认值为:nodell

Pge 340,DYNAM

默认值为:NODYNAM

第498页,拨打静态电话

当您在 使用NODYNAM和NODLL编译器选项编译的程序, 发生静态调用。使用这些选项,所有调用文字调用都是 作为静态调用处理

第499页,拨打动态电话

在编译的程序中使用CALL literal语句时 使用DYNAM和nodell编译器选项,或者使用 使用 nodell编译器选项,发生动态调用


[强调添加]

我猜这是一个面试问题,OP可能不知道他们使用的是哪种编译器。这也是一个相当愚蠢的面试问题。大多数人并没有记住所有的编译器。在我看来,这似乎是一个面试问题,而面试官则在探究应聘者对编译器的知识。大家好,谢谢你们的回答。在采访中,他们没有具体说明是哪个编译器。