H-Series Application Migration Guide (H06.07+, J06.03+)

Native C and C++ Migration Tasks
H-Series Application Migration Guide429855-008
5-9
Library Names Changed
VERSION3 of the native C++ run-time library contains functions conforming to the
ISO/ANSI C++ standard. Both VERSION2 and VERSION3 contain functions
conforming to the X/OPEN UNIX 95 specification and HP extensions to these
standards. See the C/C++ Programmer’s Guide for more information on the differences
between the VERSION1, VERSION2, and VERSION3 libraries.
VERSION3 is the default library version for G06.20 and later TNS/R native C++ and for
TNS/E native C++. Prior to G06.20, the default was VERSION1.
The TNS/E native C and C++ run-time libraries support Guardian and OSS processes.
Each library is nearly identical for the Guardian and OSS environments and thus
increases the interoperability between environments.
The following C++ library migrations should require no additional source code
changes:
C++ VERSION2 on G-series to C++ VERSION2 on H-series
C++ VERSION3 on G-series to C++ VERSION3 on H-series
The following migrations will likely require source code changes:
C++ VERSION1 on G-series to C++ VERSION2 or VERSION3 on H-series
C++ VERSION2 on G-series to C++ VERSION3 on H-series
For this migration, It is recommended that you first convert to C++ VERSION3 on a
G-series system, then to C++ VERSION3 on an H-series system.
Library Names Changed
The C++ libraries in the H-series RVUs are implemented as DLLs and have new
names. If you are explicitly using eld to link as a separate step, you need to change
the library names specified in the eld command. See Table 2-3 on page 2-7 for the
new H-series library names.
Tools.h++ Version 6 Class Library Not Supported
Two versions of the Tools.h++ class library, version 6.1 and version 7, have been
available since the D45 and G05 RVUs. Tools.h++ version 6.1 uses VERSION1 of the
Standard C++ Library. Tools.h++ version 7 uses VERSION2 of the Standard C++
Library. The H-series RVUs support only version 7 of Tools.h++. Programs using
earlier versions of Tools.h++ must be converted to use Tools.h++ version 7 and
VERSION2 of the C++ Standard Library.
The VERSION3 C++ run-time library does not support any version of Tools.h++.
Therefore, if you migrate to the VERSION3 run-time library from either the VERSION1
or VERSION2 run-time library, you need to make some additional code changes for the
removal of Tools.h++.