Language Environment preinitialization
services (PreInit) support programs that have been compiled XPLINK. Specifically,
it allows programs and subroutines that have been compiled XPLINK to be
defined in the PreInit table. The following guidelines are provided
for this new option:
- XPLINK CEEPIPI
subroutines must be fetchable. For C programs, this is done using
the #pragma linkage (fetchable) statement. For more details on fetchable
subroutines, refer to the documentation on fetch() in z/OS XL C/C++ Runtime Library Reference.
- Non-XPLINK PreInit
programs can run in an XPLINK PreInit
environment, but there may be performance degradation since non-XPLINK programs
will be required to execute linkage-switching glue code. If possible,
consider having separate PreInit environments for running XPLINK and non-XPLINK programs.
- If a PreInit environment has been initialized as a non-XPLINK environment
and either the main() function is XPLINK or the XPLINK(ON) runtime
option has been specified, then the PreInit environment will be rebuilt
as an XPLINK environment.
This is a one-time occurrence that can not be undone.