C/C++ Programmer's Guide (G06.27+, H06.03+)

Table Of Contents
Compiling, Binding, and Accelerating TNS C++
Programs
HP C/C++ Programmer’s Guide for NonStop Systems429301-010
15-14
Working in the G-Series OSS Environment
For more details regarding Binder and its commands, see the Binder Manual.
Requirements for Binding Modules
These requirements apply when you are binding two or more compiled modules to
create a single executable C++ object file:
Each of the C++ modules must be based on the same data model. If any module
has been compiled with the NOWIDE pragma specified, all modules must be
compiled with the NOWIDE pragma specified. Likewise, if any modules have been
compiled with the WIDE pragma specified, all modules must be compiled with the
WIDE pragma specified.
If you bind C++ modules with C modules, each of the modules must be based on
the same memory model and the same data model.
Working in the G-Series OSS Environment
The TNS c89 utility enables you to compile TNS C++ programs in the Open System
Services (OSS) environment. The c89 utility is XPG4 compliant. This section gives an
overview of the standard file operands and flags, lists the HP extensions that are
applicable to TNS C++, and gives some examples.
The TNS c89 utility is located in the /nonnative/bin directory on D40 and later
software releases. By default, the native c89 utility is run. You must set
/nonnative/bin at the start of your PATH environment variable to get the TNS c89
utility instead of the native c89 utility.
For more details, see the TNS c89 online reference page. To view this reference page,
enter:
man -M /nonnative/usr/share/man c89
The c89(1) reference page in D40 and later versions of the Open System Services
Shell and Utilities Reference Manual describes the native c89 utility.
The TNS c89 utility provides a simple interface to the components of the C++
compilation system. This compilation system conceptually consists of:
Cprep
Cfront
C compiler
Binder
Accelerator, an optional program component
You control the actions performed by TNS c89 with file operands and flags. When the
file operand is a C++ source file, TNS c89 invokes Cprep, Cfront, and the C compiler
to process the file. The preprocessor symbol __cplusplus is automatically defined in
this case. A file operand is perceived by TNS c89 as being a C++ source file when the
-Wcfront flag is specified or when the file-name extension is .C or .cpp.