C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)
SELECT SEARCH clib
ADD * FROM clib
Delete any old copies of CLIB from $SYSTEM.SYSTEM.
Restrictions on Binding Caused by the ENV Pragma
Binder categorizes the ENV pragma options into three groups: OLD, NEUTRAL, and COMMON.
For the most part, these groups match the various ENV options. Table 34 shows how Binder classifies
object files into one of three groups depending on the compiler version or specified ENV option.
Table 34 Binder Grouping of ENV Pragma Options
Generated byBinder Group
C-series C compilers by defaultOLD
D-series C compilers by default D-series C compilers with ENV COMMON specified D-series
C compilers with ENV LIBRARY specified
COMMON
D-series C compilers with ENV EMBEDDED specified D-series C compilers with ENV
LIBSPACE specified
NEUTRAL
These rules apply for binding modules together:
• You can bind object files that are in the same Binder group; the resulting object file runs in
the same environment as the input object files.
• You can bind object files that include routines from both the OLD and NEUTRAL Binder groups;
the resulting object file runs in a language-specific run-time environment.
• You can bind object files that include routines from both the COMMON and NEUTRAL Binder
groups; the resulting object file runs in the CRE.
• You cannot bind object files that include routines from both the COMMON and OLD Binder
groups.
When you bind object files compiled for different environments, each procedure retains its original
ENV attribute. Table 35 shows the run-time environment resulting from binding modules from different
Binder groups together.
Table 35 Run-Time Environment Resulting From Binding Modules
Binder Group
NEUTRALCOMMONOLDBinder Group
language-specificNot allowedlanguage-specificOLD
CRECRENot allowedCOMMON
language-specific or CRECRElanguage-specificNEUTRAL
Use the Binder INFO command with the DETAIL clause to show the ENV attribute of a particular
data or code block. For more details, see the Binder Manual.
Accelerating C Programs
The Accelerator enables you to increase the performance of programs that run on TNS/R systems.
The Object Code Accelerator (OCA) enables you to increase the performance of programs that
run on TNS/E systems.
The Accelerator or OCA optimizes TNS programs to take advantage of the native architecture.
Most TNS object code that has been accelerated runs faster on native systems than TNS object
code that has not been accelerated. Most programs written for TNS systems do not require changes
to run on native systems, either with or without acceleration.
Working in the Guardian Environment 267