/usr/lib/libCsup.sl (and libCsup_v2.sl),
/usr/lib/libstd.sl (and libstd_v2.sl),
/usr/lib/librwtool.sl (and librwtool_v2.sl), and
/usr/lib/libstream.sl which are provided as part of the HP-UX core
system).
Be sure your customer has read this distribution information.
NOTE: If you choose to distribute archive libraries or object files, your customer must have purchased HP aC++.
The following HP aC++ run-time libraries are shipped as part of the HP-UX 11.x core system:
/usr/lib/libCsup.sl and libCsup_v2.sl
/usr/lib/libstd.sl and libstd_v2.sl
/usr/lib/librwtool.sl and librwtool_v2.sl
/usr/lib/libstream.sl
/usr/lib/pa20_64/
Refer also to the CAUTION in the section Installing your Application.
The C++ language requires that nonlocal static objects be initialized
before any function or object is used.
HP aC++ initializes nonlocal static objects in all object files,
including shared libraries, before the first statement in main() executes.
If you distribute HP aC++ libraries that your customers will use, they must
do the following to ensure that nonlocal static objects are correctly
initialized and destroyed:
NOTE: Calling _main() is optional starting with the
A.03.33 aC++ runtime. Corresponding dld and libc
patches are also required:
PHSS_24638, PHSS_24304 and PHCO_24942 or later for 11.11
PHSS_24627, PHSS_24303 and PHCO_24723 or later for 11.0
main program is written in a language
other than C++, your customer's main program must
first call _main() before doing anything else.
_main() calls all nonlocal static constructors.
NOTE:
64-bit mode differs from the above.
In 64-bit mode, your code must not call _main.
_main() must still be called, before any use of aC++ code.
It could be placed in the C++ library itself.
NOTE:
64-bit mode differs from the above.
In 64-bit mode, your code must not call _main.
/usr/lib/libcl.sl (or on the link line -lcl)
a.out
must be linked with the HP aC++ runtime libraries in the following order:
-AP: -lstd -lstream -lCsup -lm -lcl -ldld -AA: -lstd_v2 -lCsup_v2 -lm -lcl -ldldIf the library is being dynamically loaded from pure C or Java as a plugin, the library should be linked with the HP aC++ runtime libraries in the following order:
-AP: -lstd -lstream -lCsup -lm -AA: -lstd_v2 -lCsup_v2 -lm
libstd (STL) or libstream
(iostreams), then they can be eliminated. If tools.h++ is used, then add
-lrwtool (or -lrwtool_v2) to the left.
NOTE: This stub is optional starting with the A.03.30 aC++
runtime.
PHSS_22898 or later for 11.11
PHSS_22543 or later for 11.0
as cpprt0_stub.sor
cc -c cpprt0_stub.sA copy of the stub file cpprt0_stub.s can be shipped.
================ cpprt0_stub.s ===================
.code
; stubs for static constructors in a.out
.export __StaticCtorTable_Start,data
.export __StaticCtorTable_End,data
__StaticCtorTable_Start
__StaticCtorTable_End
.data
; stubs for static constructors in a.out, compiled with +z/+Z
.export __ZStaticCtorTable_Start,data
.export __ZStaticCtorTable_End,data
__ZStaticCtorTable_Start
__ZStaticCtorTable_End
In addition, your customers should review Mixing C++ with other Languages for information on linking HP aC++ modules with HP C, HP Pascal, and HP FORTRAN 77.
NOTE: HP aC++ code cannot be mixed with HP C++ code.
Normally your customer will already have the correct runtime installed. If your product requires a newer version, it is recommended that the customer install the latest patch.
Your application's installation procedure should install the appropriate HP aC++ components in the standard places on your customer's systems. This will ensure that the aCC command can find them.
CAUTION: If your customer already has HP aC++ installed and their version is newer than yours, you should never overwrite any of the existing HP aC++ components. In addition, you should not install your product on a system that has a newer version of HP aC++ if that newer version is incompatible with your version.
You should also warn your customers not to install a version of HP aC++ after installing your product if their version of HP aC++ is incompatible with your version.
-AP libs are provided as part of the HP-UX core system.
The following HP aC++ runtime libraries are provided as a patch to the HP-UX
core system:
/usr/lib/libCsup.sl and libCsup_v2.sl
/usr/lib/libstd.sl and libstd_v2.sl
/usr/lib/librwtool.sl and librwtool_v2.sl
/usr/lib/libstream.sl
/usr/lib/pa20_64/
Refer to the CAUTION in the prior section Applications that use HP aC++ Shared Libraries.