【问题标题】:COBOL - Calling programCOBOL - 调用程序
【发布时间】:2015-11-27 09:00:43
【问题描述】:

Cobol - 问题。 我写了一个带有一些程序的子程序。 是否可以同时从不同的主程序调用这个子程序,传递所有不同的变量。

【问题讨论】:

  • 是的,您可以从任何其他程序调用程序。不确定“所有不同的变量”是什么意思。只要项目的数量及其长度和类型,在 CALL ... USING ... 上指定的顺序与 PROCEDURE DIVISION USING 上的顺序相同,那么一切都会OK。

标签: cobol


【解决方案1】:

是的。您可以从任何主程序调用此子程序。当您说不同的参数时,请使用 USING 子句来传递该特定子程序所需的相应值。

【讨论】:

  • 您认为 COBOL 中的“主”程序是什么?这是否意味着您认为您不能从另一个程序调用子程序?当您说“价值观”时,您是什么意思? “通过”是什么意思?
  • 你好,比尔,你是对的。但是我们可以指定调用程序为主程序,调用程序为子程序。这是我在这里使用的术语。 “pass”表示发送,“values”表示可变内容。
  • 主程序是没有任何链接部分的程序。在我的书中,链接部分的存在意味着我们有一个可调用的模块。
  • @gazzz0x2z 只是在这里注意到您的评论 :-) 在 IBM 大型机世界中,即使是第一个程序也被操作系统“调用”,并且可以传递运行时参数,因此可以有一个链接部分。此外,“主”程序可能需要 LINKAGE SECTION 来获取外部存储或其他不表明已进行 CALL(来自 COBOL)的原因的负载。由于区别是没有意义的(对于大型机),我尽量不这样做:-)。在其他环境中有所不同,我似乎输给了文档......
【解决方案2】:

当然你可以在主程序中随时调用子程序。子程序每次都会通过接受传递的任何参数来执行其功能。

【讨论】:

  • 这与这个 not-really-a-question 的其他答案基本相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
相关资源
最近更新 更多