Link-edit
Combining compiled object code with the other modules it needs into a single runnable program.
Also written binder, linkage editor, bind
Link-editing, done by a program called the binder, takes the object module produced by a compiler and turns it into something that can actually be run.
Its job is resolving references. A COBOL program that calls a subroutine, uses a language runtime service, or accesses a database contains references to code that lives elsewhere. The binder finds those modules, pulls them together and produces a single load module with everything resolved.
Modules are found by searching libraries listed in the JCL. A reference that cannot be resolved produces an unresolved external reference, one of the more common failures, and usually caused by a missing library rather than a mistake in the code.
Modules can be bound in statically, becoming part of the load module, or resolved dynamically when the program runs. Dynamic linking means a shared subroutine can be updated without rebuilding every program that calls it, which at a site with thousands of programs matters a great deal.
The output goes into a load library, ready for a job to execute.
Related terms
- CompileTurning COBOL source code into machine instructions, checking the syntax and producing a listing of any errors.
- Load moduleThe runnable form of a program, stored in a library, which JCL executes by name.
- PDSEThe modern version of a partitioned dataset, which reclaims space automatically and removes the old size limits.
- COBOLThe programming language most business logic on the mainframe is written in. Verbose by design, and still running the world's payments.
- PROCA reusable piece of JCL stored as a member and invoked by name, so common steps are written once.