首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >COBOL的依赖管理

COBOL的依赖管理
EN

Stack Overflow用户
提问于 2016-06-17 13:04:04
回答 3查看 614关注 0票数 1

在COBOL世界中存在类似传递依赖管理的东西吗?

是否有用于COBOL二进制文件的存储库系统?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-18 07:49:09

对你的问题(非常广泛但仍然有效)的答案是“否”,正如评论已经暗示的那样。对于这个答案,我将“依赖关系管理软件”定义为帮助查看运行应用程序所需的程序和文件的软件(该应用程序由许多COBOL程序组成,否则您将不需要对此进行管理),理想的版本是[对于程序X的版本N,我需要版本M中的程序Y和Z,以及文件A和B)。

COBOL的工作依赖系统之所以难以工作,是因为您可以很容易地跟踪源级依赖(仅由源代码和复制簿组成)和无法跟踪的运行时依赖关系:

CALL "SOMEMODULE" (或多或少的静态调用)可以很容易地被跟踪,但是通常您会看到CALL somemodule (高度动态的调用,其中实际的模块名存储在变量中)。对于后一个变量,您必须检查变量可以得到的所有可能值(有时只有一个简单的MOVE "PROG"直接在CALL之前,有时该变量将被子程序更改,甚至会从文件/DB/什么中提取)。第二个依赖项通常是文件/DB-连接。它们大多不是ASSIGN to "file1"中的静态问题,而是动态ASSIGN TO filename,与动态程序调用具有相同的问题。

因此,您通常没有真正的依赖关系管理(如上面所定义的),而只有编译的COBOL程序和文件的版本“快照”,并将所有打包在一起的(应该)工作的东西都打包在一起。

在"Windows/Unix世界“中,您可以将它们放在存档、备份过程(可能是增量的)或版本管理中,这些都适用于二进制文件。

票数 4
EN

Stack Overflow用户

发布于 2016-06-18 17:24:41

您可能会看到一些IBM工具--用于二进制文件的和用于依赖关系的Websphere Analyzer。

票数 1
EN

Stack Overflow用户

发布于 2021-06-25 07:44:15

您的问题与Cobol无关,而是与BS2000 (操作系统)有关,因为您只使用二进制文件。

对于C++,您可以找到许多库(在Linux、Windows、BS2000上),您可以将它们导入系统并构建(如果可能的话),并将LMS librairies作为L类型的元素(在BS2000上)。

在过去(2005年),我为BS2000编写了一个比EDT (BS2000西门子编辑器)更强大的新编辑器,其中我在包含PCRE库中添加了Regex特性。

我没有在PCRE上加载BS2000源代码,我已经迁移了他的代码,以便所有模块都能完全工作。

完成后,我将二进制文件放在一个名为BREGEX.B.LMSLIB的库中,它的版本号与PCRE库相同。

现在,每当我想在Regex程序中使用C++程序时,也在COBOL程序中使用//RESOLVE-MODULES//INCLUDE-LIBRARY绑定命令,在BINDER script ( BS2000上的链接编辑器代替TSOSLNK)脚本中包含这个模块。

如果这个L模块需要来自其他库的其他模块,我必须在我的BINDER脚本中解释这些模块。

由于链接版本完全由BS2000过程(BS2000中的脚本)完成,所以可以将BINDER命令和BS2000变量混合在一起,以包含所有依赖项。

示例:

代码语言:javascript
复制
/START-BINDER
//INCLUDE-MODULE <main-program-name>
//RESOLVE-LIBRARY BREGEX.B.LMSLIB
//RESOLVE-LIBRARY LOGGING-LIBRARY-FOR-BREGEX
//RESOLVE-LIBRARY DEPENDENCY-LIBRARY-2-FOR-BREGEX
//END

或者使用BS2000的“脚本”变量

代码语言:javascript
复制
/INCLUDE-PROCEDURE INIT-BINDER-SCRIPTING-VARIABLE

/START-BINDER
//INCLUDE-MODULE <main-program-name>
/BREAK
/&(RESOLVE-BREGEX)
/RESOLVE
//END

答:我没有一些例子,因为我正在度假,但如果有人问一些例子(使用评论),我可以找到他们在我的家庭电脑,并提供更多的信息。

关于信息,我从来没有在BS2000上编程超过12年,我已经保留了我的编辑来源!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37882305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档