There are certain considerations that you must be aware of before
link-editing and running applications under Language Environment.
Language Environment resident
routines for non-XPLINK applications,
including those for callable services, initialization, and termination,
are located in the SCEELKED and SCEELKEX libraries. Language Environment resident
routines for XPLINK applications are located in the SCEEBIND and
SCEEBND2 libraries. Language Environment dynamic
routines are located in the SCEERUN and SCEERUN2 libraries. The Language Environment libraries
are located in data sets identified with a high-level qualifier specific
to the installation.
The following is a summary of the
Language Environment libraries
and their contents:
- SCEERUN
- A PDS which contains the runtime library routines needed during
execution of applications written in C/C++, PL/I,
COBOL and FORTRAN.
- SCEERUN2
- A PDSE which contains the runtime library routines needed during
execution of applications written in C/C++ and
COBOL.
- SCEELKED
- Contains Language Environment resident
routines for non-XPLINK applications,
including those for callable services, initialization, and termination.
This includes language-specific callable services, such as those
for the C/C++ runtime
library. Only case-insensitive names of eight or less characters
in length are contained in this library. This library must be used
only when link-editing a non-XPLINK program.
- SCEELKEX
- Like SCEELKED, contains Language Environment resident
routines for non-XPLINK applications.
However, case-sensitive names which can be greater than eight characters
in length are contained in this library. This allows symbols such
as the C/C++ printf and pthread_create functions
to be resolved without requiring the names to be uppercased, truncated,
or mapped to another symbol. This library must be used only when
link-editing a non-XPLINK program.
- SCEEOBJ
- Contains Language Environment resident
definitions for non-XPLINK applications
which may be required for z/OS UNIX System Services (z/OS UNIX) programs,
such as the definition of the external variable symbol environ. SCEEOBJ
must be used whenever link-editing a z/OS UNIX non-XPLINK program.
- SCEECPP
- Contains Language Environment resident
definitions for non-XPLINK applications
which may be required for C++ programs,
such as the definition of the new operator. SCEECPP
must be used whenever link-editing a program which includes any NOXPLINK-compiled C++ object
modules.
- SCEEBIND
- Contains Language Environment resident
routines for XPLINK applications,
but is deprecated and may not be supported in a future release. Use
SCEEBND2 instead.
- SCEEBND2
- Contains all Language Environment resident
routines for XPLINK applications.
This one library replaces the four libraries of resident routines
for non-XPLINK applications.
For XPLINK, this one library is used wherever the four libraries
of resident routines (SCEELKED, SCEELKEX, SCEEOBJ, SCEECPP) had been
used. It provides only a small number of resident routines, since
most of the functions formerly provided in those static libraries
are instead provided using dynamic linkage. SCEEBND2 must be used
only when link-editing an XPLINK program.
- SCEELIB
- Contains
side-decks for DLLs provided by Language Environment.
Many
of the language-specific callable services available to XPLINK-compiled
applications appear externally as DLL functions. See Building and using dynamic link libraries (DLLs) for information about DLLs. To resolve
these references from XPLINK applications,
a definition side-deck must be included when link-editing the application.
The SCEELIB library contains the following side-decks in support
of XPLINK :
The functions in these side-decks can be called from an XPLINK application.
However, they cannot be used as the target of an explicit dllqueryfn() against
the DLL.