gpt4 book ai didi

mainframe - 链接编辑步骤到底是什么

转载 作者:行者123 更新时间:2023-12-04 13:57:14 26 4
gpt4 key购买 nike

问题

我的 COBOL 编译器中的链接编辑步骤到底是做什么的?

编译代码后,执行链接编辑步骤。我不确定这一步是做什么的。

背景资料

刚从学校毕业(3 年前),我就找到了一份大型机应用程序开发人员的工作。在学校里对大型机一无所知,我的知识有很多空白。在我的商店周围,我们有一种“黑匣子”的态度,我们不需要知道很多这些东西是如何工作的,它就是这样。如果程序已经成功编译,我试图理解为什么我们需要这个链接编辑步骤。

最佳答案

linkedit/binderer 步骤从编译器(或汇编器)的输出中生成可执行程序。

如果您查看 SYSLIN 上的输出数据集从你的 COBOL 编译步骤(如果它是一个临时数据集,你可以将它覆盖到一个 FB、LRECL 80 顺序数据集以便能够查看它)你会看到“卡片图像”,其中包含(以及其他一些东西)编译器生成的机器码。

这些卡片图像是不可执行的。代码甚至不是连续的,并且缺少许多必要的运行时模块之类的东西。

Program Binder/Binder (PGM=HEWL) 从编译器/汇编器中获取目标代码(卡片图像)并执行所有必要的操作(根据安装时使用的选项、您提供的其他选项以及许多包含的其他库) object-code 或 loadmodules 或 Program Objects)来创建可执行程序。

曾经有一个叫做链接编辑器的东西可以完成这个任务。因此,linkedit,linkedited。不幸的是,在英语中,bind 的结合方式与 edit 不同。没有什么好词,所以我使用 Binderer 和 Bindered,部分是为了反对决定将其称为 Program Binder 的机构(也不要与 Binding for DB2 混淆)。

所以,今天,linkedit 的意思是“使用 Program Binder”。这是一个将编译/汇编的输出变成可执行程序的过程,它可以是加载模块,也可以是程序对象(Enterprise COBOL V5+ 只能绑定(bind)到程序对象,而不是加载模块)或 DLL(不能与 .dll 混淆)。

SYSLIN 的输出值得一看,SYSPRINT binder 步骤的输出,以及 Program Binder 的咨询手册/演示文稿,通​​过粘贴浏览器搜索框中的消息。从纪录片 Material 中,您还将开始了解该主题的广度。 Binder 能够做很多有用的事情。

这是一个有用图表的链接、一些更详细的解释以及应用程序绑定(bind)器的主要引用文档的名称:z/OS MVS 程序管理:用户指南和引用

The program management binder

作为尾注,它们是“卡片图像”的原因是因为......回到过去,编译器/汇编器的对象卡组将被打洞到物理卡片上。然后将其用作链接编辑器的输入卡。我不后悔错过了必须这样做的机会...

关于mainframe - 链接编辑步骤到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43098217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com