SQL/MP Programming Manual for C

Explicit Program Compilation
HP NonStop SQL/MP Programming Manual for C429847-008
6-30
Using the c89 Utility in the OSS Environment
To alter an existing DEFINE, use the add_define utility and specify all DEFINE
attributes and their new values. In this situation, the add_define utility essentially
adds a new DEFINE with the same name in place of the old DEFINE.
Using the c89 Utility in the OSS Environment
The c89 utility is the OSS driver for the C and C++ compilation systems. You use the
c89 utility to run the C and C++ compiler or ld), the TNS/E native linker (eld),
Accelerator, OCA, and SQL compiler.
With D40 and later product versions, c89 utilities are available in these ways:
The native c89 utility resides in the /usr/bin directory. For information about the
native c89 utility, see the Open System Services Shell and Utilities Reference
Manual or the c89(1) reference pages.
The TNS c89 utility has been moved from the /bin directory to the
/nonnative/bin directory. The documentation for the TNS c89 utility is
available only as reference pages. To view the TNS c89 reference pages, enter:
man -M /nonnative/usr/share/man c89
Running the OSS C Compiler
Run the OSS C compiler using the c89 utility to compile the source file (or files) that
contain the embedded SQL statements. The C compiler generates an object file that
contains C object code and SQL source statements. This c89 command invokes the
C compiler to compile the pgm1 source file into the pgm1o object file:
c89 -c pgm1
NonStop SQL/MP supports Tandem floating-point format but not IEEE floating-point
format. The floating-point format for TNS/R native compilation is Tandem by default.
However, for TNS/E native compilation, the floating-point format is IEEE by default.
Follow these guidelines when compiling C programs that contain embedded SQL/MP
statements:
For TNS/R native compilation, do not specify the -WIEEE_float flag. The
floating-point format must be the default TANDEM_FLOAT.
For TNS/E native compilation, specify the -WTandem_float flag to override the
default IEEE_FLOAT:
c89 -WTandem_float pgm1
For more information, see “Compiling and Linking Floating-Point Programs” in the
C/C++ Programmer’s Guide for NonStop Systems.
The native c89 utility resides in the /bin/compilers directory. The TNS C compiler
has been moved from the /bin/compilers directory to the
/nonnative/bin/compilers directory, and the TNS C run-time library has been
moved from /usr/lib/libc.a to /nonnative/usr/libc.a.