我正在尝试在 cobol 中建立 hello world 的链接,如 this tutorial ,我可以编译程序并成功获取project.group.OBJ中的新成员,但是当我将它与
LINK project.group.OBJ(Member) lib('cee.sceelked')
我得到以下信息: IEW2278I B352 INVOCATION PARAMETERS - TERM
IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT
BE SAVED IN LOAD MODULE FORMAT.
IEW2008I 0F03 PROCESSING COMPLETED. RETURN CODE = 12.
我意识到在 4(前景)选项中,链接编辑器在左侧显示一个星号:“7 *Binder/Link editor”,表示“不支持打包数据”。错误是因为这个吗? “不支持打包数据”是什么意思?我可以毫无问题地访问该选项。
搜索我找到 a link which indicates “正在尝试以与正在使用的功能不兼容的格式保存模块”但我不知道正在使用的功能是什么意思。它是否与链接时应该放置的数据集加载的类型有关?我搞不清楚了。
最佳答案
加载模块格式很旧。 IBM 的最后一个 COBOL 编译器将生成可绑定(bind)为加载模块的代码,它是 IBM Enterprise COBOL 4.2.x,计划于 2022 年 4 月 30 日终止服务。如果您使用某些编译选项,即 DLL,即使该编译器也会生成无法存储为加载模块的代码。
较新版本的 IBM Enterprise COBOL 生成必须绑定(bind)为程序对象的代码。程序对象虽然像加载模块一样可执行,但与加载模块非常不同。
加载模块存储在 PDS(分区数据集)中。程序对象必须存储在 PDSE(扩展分区数据集)中。
确保绑定(bind)步骤的 SYSLMOD DD(project.group.LOAD 数据集)指向 PDSE。当您使用 ISPF 3.2 分配它时,将数据集名称类型设置为 LIBRARY。
关于cobol - zOS:模块包含第 3 版程序对象功能,无法以加载模块格式保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67513033/