If you produced an object module when you compiled your application program, it will need further processing before it can be executed. This further processing, the resolution of external references inserted by the compiler, is performed either by the linkage editor or the loader. Both the linkage editor and the loader convert an object module into an executable program, which, in the case of the linkage editor, is called a load module.

The linkage editor and the loader require the same type of input, perform the same basic processing, and produce a similar type of output. The basic difference between the linkage editor and the loader lies in the form of the output.

You define a link edit part in either of two cases:

  • A generated COBOL program includes static COBOL calls to other programs
  • A generated COBOL program is called statically by another program, whether generated or not

You can also supply your own link edit part if you want to specify linkage editor control statements that are not provided in the default link edit file produced by the COBOL generator.

The Linkage Editor

The linkage editor converts an object module into a load module, and stores it in a partitioned data set (program library) in auxiliary storage. The load module becomes a permanent member of that library and can be retrieved at any time for execution in either the job that created it or any other job. To keep a load module for later execution, use the linkage editor rather than the loader.

The Loader                

The loader processes the object module, loads the processed output directly into main storage, and executes it immediately. The loader is an all-in-one link-edit and execute step. The loader does not save a permanent copy of the load module. Consequently, after the load module has been executed, it cannot be used again without creating another load module and then executing the loader. The loader is useful during testing.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics