DLL Programmer's Guide for TNS/R Systems

Sample Sessions and Usage Notes
DLL Programmers Guide for TNS/R Systems522203-002
6-16
Notes on C++
Garth is Not an Application-Level Debugger
Garth and Inspect are fundamentally different. Inspect runs on the same system as the
application and is used to debug it. Garth is mainly used for debugging dumps.
Notes on C++
The following are notes on changes to C++ language support. A primary source of
further information is the C/C++ Programmer’s Guide for NonStop Servers (G06.20
version).
New Version Default
The default run-time library for TNS/R native C++ processes is changing at G06.20.
VERSION1 was the default before G06.20. The new default is VERSION3 of the
Standard C++ Library.
PIC can only support VERSION2 and VERSION3
For conventional non-PIC code, the change in the default C++ library means that you
should examine your build scripts and compiler commands to ensure that your TNS/R
native C++ applications will be compiled using the correct version in the future. That is,
when you recompile you will need to specify the version of the run-time library for all
applications that used the previous default, VERSION1, without specifying it.
Applications that use VERSION2 should already specify the version in their compile
line and should not need any changes.
C++ Versions and the SRLs
Because of the change to the version default, you are advised to check to which SRL
version you are linking. When a NonStop server is migrated to G06.20, the system
shared run-time libraries (SRLs) are automatically migrated to become hybrid SRLs,
which are augmented for use by PIC clients. The SRLs that are required by a program
may depend on whether the program:
Runs in the Guardian or OSS environment
Uses the C run-time library
Uses the C++ run-time library
Uses the Tools.h++ library (and whether Version 6.1 or Version 7)
Uses the Standard C++ Library
Uses the TCP/IP sockets library
Refer to the C/C++ Programmer’s Guide for NonStop Servers - Table 16-5 on page 16-
15 for a conceptual stack of the SRLs that make up the context of VERSION1,
VERSION2, and VERSION3.