Prelinking an application

This topic describes how to prelink your programs under Language Environment. Unless otherwise indicated, the prelinking process applies to C, C++, COBOL and Enterprise PL/I for z/OS.

The Language Environment prelinker performs mapping of names, manages writable static areas, collects initialization information, and combines the object modules that form an application into a single object module that can be link-edited or loaded for execution.

Note:

The prelink step in creating an executable program can be eliminated. The binder is able to directly receive the output of the C, C++, COBOL, and Enterprise PL/I for z/OS compilers, thus eliminating the requirement for the prelink step. The advantage of using the binder is that the resulting executable program is fully rebindable.

IBM® intends to stabilize the prelinker. The prelinker was designed to process long names and support constructed reentrancy in earlier versions of the C, C++, COBOL, and PL/I compilers, and the Language Environment-conforming assembler, on the MVS™ and OS/390® operating systems. The prelinker provides output that is compatible with the linkage editor, shipped with the program management binder.

The program management binder is designed to include the function of the prelinker, the linkage editor, the loader, and a number of APIs to manipulate the program object. Its functionality delivers a high level of compatibility with the prelinker and linkage editor, but provides additional functionality in some areas.

Further enhancements will not be made to the prelinker utility. Enhancements will be made only to the program management binder, to position the program management binder as the strategic tool for program object manipulation.

For information on how to use the binder, see z/OS MVS Program Management: User's Guide and Reference and z/OS MVS Program Management: Advanced Facilities.

For information on how to build and use DLLs, see Building and using dynamic link libraries (DLLs).