User Manual

Preparing Programs
HP NonStop AutoTMF Software User’s Guide429952-014
3-4
Preparing TNS/R Programs
calls made by those libraries. These libraries also exist in the “system library” created
by SYSGEN, but you cannot intercept calls that are made to the system library.
If a TNS program currently calls a procedure in the system library routine at run time,
the calls are automatically retargeted to the ESCRUNTM user library if the
ESCRUNTM user library contains the same procedure.
Any COBOL, C, or TAL TNS program can use the ESCRUNTM library. If the program
does not call a language runtime routine, no side-effects occur when the routine is
bound to the runtime library.
Preparing TNS/R Programs
Preparation steps for TNS/R programs are the same as described above, with a few
limitations.
For TNS/R programs, the language runtimes have a significantly different
implementation:
The NonStop OS supports special initialization routines. If the program or library
contains procedures that have special names, those procedures run automatically
before the program starts. For example, the C runtime library has an initialization
routine to initialize the heap data structures.
TNS/R language runtime libraries are implemented in Shared Runtime Libraries
(SRLs). When a TNS/R object is made executable, each external reference is
assigned to the system library, a user library, or to a system SRL. Once a reference
is assigned to an SRL, the reference cannot be changed.
SRLs are independent of one another and do not share data unless explicitly
declared; several system SRLs, notably the C and C++ SRLs have conflicting
definitions and cannot be linked together.
These features of TNS/R mode enhance the capabilities of the language runtime
support but also make interception of procedure calls more complex, resulting in the
requirements and limitations described below.
ESCORT CI identifies three classes of TNS/R programs and deals with them as
described in the following table: