SQL/MP Programming Manual for C
Explicit Program Compilation
HP NonStop SQL/MP Programming Manual for C—429847-008
6-31
Using the c89 Utility in the OSS Environment
For more information about the C compiler, see the C/C++ Programmer’s Guide for
NonStop Systems.
Running the Binder Program, nld, ld, or eld Utility
In the TNS environment, use the TNS c89 utility to run the Binder (BIND) program to
combine multiple object files into one target object file. This c89 command invokes the
Binder program to bind the pgm1o and pgm2o object files into the sqlprog file and to
set the HIGHPIN attribute to ON:
c89 -o sqlprog -Wbind="set highpin on" pgm1o pgm2o
In the TNS/R environment, use the native c89 utility to run the native link utility (nld
or ld) to link multiple object files and produce an executable object file. For
information about the nld or ld utility, see the nld Manual or ld Manual.
In the TNS/E environment, use the native c89 utility to run the TNS/E native linker
utility (eld) to link multiple object files and produce an executable object file. Use
eNOFT to read, display linkfiles, loadfiles, and import libraries created by the TNS/E C
compiler. For information about the eld utility and eNOFT, see the eld Manual and the
eNOFT Manual.
Do not bind object files with functions that have the same name and contain embedded
SQL statements. The SQL compiler uses the function name as the RTDU name.
Therefore, when the SQL statement runs, functions with the same name generate
ambiguous references, which can generate SQL run-time errors.
Running the Accelerator for Cross-Platforms
TNS object files can be accelerated to take advantage of features on the RISC
architecture for TNS/R or on the Intel Itanium architecture for TNS/E. In most cases,
accelerated TNS objects have significant performance benefits when optimized for
target TNS/R and TNS/E platforms.
For a program compiled in the TNS environment, you can run the Accelerator (AXCEL)
to improve the program’s performance when it runs in the TNS/R environment. You run
the OCA to accelerate TNS object files on the TNS/E platform for execution on the
TNS/E platform.
This TNS c89 command invokes the Accelerator to accelerate the sqlprog file
without initiating the binding process:
c89 -Wnobind -Waxcel sqlprog
Because the Accelerator and the OCA invalidate SQL program files, run the
accelerators before you explicitly SQL compile a program to avoid having to recompile.
You can also accelerate a program file by specifying the -O flag when you run the
C compiler. For more information about the TNS/R accelerator, see the Accelerator
Manual. For more information about the TNS/E accelerator, see the Object Code
Accelerator (OCA) Manual.