多个Cobol子例程可以在同一个模块中吗

多个Cobol子例程可以在同一个模块中吗,cobol,Cobol,在java中,我可以创建一个实用程序类型类,该类具有许多帮助器类型方法。Cobol是一种适用于许多方面的语言,但无法将参数传递给内部段落并不属于其中之一。我已经开始在不同的模块中使用一些子程序并调用它们。这导致了两个问题: 有人知道内部段落调用与“外部”子例程调用的相对性能吗?我的联动编辑器控制卡中包含了子程序模块 是否能够使用一个模块包含多个子例程?看起来链接部分排除了这一点。。。但是想知道是否有一种方法可以创建一个类似于helper类的Cobol模块(充满helper方法) 谢谢,对于问题1

在java中,我可以创建一个实用程序类型类,该类具有许多帮助器类型方法。Cobol是一种适用于许多方面的语言,但无法将参数传递给内部段落并不属于其中之一。我已经开始在不同的模块中使用一些子程序并调用它们。这导致了两个问题:

  • 有人知道内部段落调用与“外部”子例程调用的相对性能吗?我的联动编辑器控制卡中包含了子程序模块
  • 是否能够使用一个模块包含多个子例程?看起来链接部分排除了这一点。。。但是想知道是否有一种方法可以创建一个类似于helper类的Cobol模块(充满helper方法)
    谢谢,对于问题1,这取决于实现和编译器选项

    对于问题2,使用COBOL85,可以从同一个源编译多个程序。例如:

        program-id. prog-1.
        ...
        end program prog-1.
        program-id. prog-2.
        ...
        end program prog-2.
        etc.
    
    每个程序似乎都是单独编译的。通过使用
    EXTERNAL
    子句,这些程序共享的任何公共数据或文件均可供每个程序使用

    程序也可以嵌套。比如说,

        program-id. multi-nested.
            ...
        program-id. prog-1.
            ....
        end program prog-1.
        program-id. prog-2.
            ....
        end program prog-2.
        end program multi-nested.
    
        program-id. multi-entry.
            ...
        linkage section.
            ...
        procedure division [ using ... ].
            ...
            entry "prog-1" using ...
            ...
            entry "prog-2" using ...
            ...
        end program multi-entry.
    
    这些程序共享的任何公共数据或文件都可以通过使用
    GLOBAL
    子句提供给每个程序

    一些实现允许使用
    条目
    语句。比如说,

        program-id. multi-nested.
            ...
        program-id. prog-1.
            ....
        end program prog-1.
        program-id. prog-2.
            ....
        end program prog-2.
        end program multi-nested.
    
        program-id. multi-entry.
            ...
        linkage section.
            ...
        procedure division [ using ... ].
            ...
            entry "prog-1" using ...
            ...
            entry "prog-2" using ...
            ...
        end program multi-entry.
    
    在本例中,
    链接部分
    包含所有参数,即使每个入口点可能只使用其中的一些参数


    它们的使用方式在很大程度上取决于站点标准。

    这完全取决于您的编译器,即。。。?