Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

Working on the NonStop System
Here is a brief overview of the tools you can use when porting or developing programs on the
NonStop system. The topics covered include:
“C and C++ Compilation Using the c89 Utility” (page 38)
“Editing OSS Files” (page 43)
“Using the Debuggers With OSS Files” (page 44)
“Using the noft and enoft Utilities on Native Program Files” (page 46)
C and C++ Compilation Using the c89 Utility
From the OSS environment, there are three versions of the OSS c89 utility, a driver program for
the C and C++ compilation tools:
A native c89 driver for the G-series, H-series, and J-series TNS/R native C and C++ compilation
tools
A native c89 driver for the H-series and J-series TNS/E native C and C++ compilation tools
A TNS c89 driver for the G-series TNS C and C++ compilation tools
This subsection describes the c89 drivers and how to use them. The native c89 utility is the default
utility on G-series, H-series, and J-series RVUs. You can use the c99 utility to compile C99-compliant
C and C++ programs using the TNS/E native compilers on systems running H06.21 and later
H-series RVUs and J06.10 and later J-series RVUs. For information about the c99 utility, see “C
and C++ Compilation Using the c99 Utility” (page 38).
From the OSS environment, the c89 utility invokes the same compilation tools as used to compile
C or C++ programs for the Guardian environment. Thus, the TNS/R and TNS/E native c89 utilities
have all the compilation capabilities whether running in the OSS or Guardian environment, and
the TNS c89 utility has all the compilation capabilities whether running in the Guardian or G-series
OSS environment.
The files in the c89 operand list are processed by the compilation system, depending on the c89
command line flags and the type of file operands you specify. c89 comes with all of the header
files and the run-time libraries, enabling you to compile programs compliant with ISO/ANSI C for
either the OSS or Guardian environment. By default, if you run c89 in the OSS environment; it
will produce executables for the OSS environment.
Input to the c89 utility can include C or C++ source files; the object files generated by the -c flag;
libraries built with the archive utility; all of the files in /usr/lib, which are the standard C and
C++ standard libraries, additional operating system libraries, and POSIX standard libraries; and
any library files that were produced by the linker. c89 searches all of the standard Guardian
system routines in its library.
Beginning with the H06.24 and J06.13 RVUs, the c89 utility has new features for 64-bit support.
For information about 64-bit support features in the C/C++ compilers, see the C/C++ Programmer's
Guide in the NTL.
C and C++ Compilation Using the c99 Utility
This subsection describes the c99 drivers and how to use them. You can use the c99 utility to
compile C99-compliant C and C++ programs using the TNS/E native compilers on systems running
H06.21 and later H-series RVUs and J06.10 and later J-series RVUs. The c99 utility does not
support TNS or TNS/R targets.
From the OSS environment, the c99 utility invokes the same compilation tools as used to compile
C or C++ programs for the Guardian environment.
The files in the c99 operand list are processed by the compilation system, depending on the c99
command line flags and the type of file operands you specify. c99 comes with all of the header
38 The Development Environment