HP aC++/HP C A.06.20 Programmer's Guide

Adding New Versions to a Shared Library
To rebuild a shared library with new versions of some of the object files, use the aCC
command and the -b option with the old object files and the newly compiled object
files. The new source files should use the HP_SHLIB_VERSION pragma. Refer to HP-UX
Online Linker and Libraries User’s Guide for more information.
Standard HP-UX Libraries and Header Files
HP-UX includes Several libraries that provide system services. You can access HP-UX
standard libraries by using header files that declare interfaces to those libraries. Refer
to the HP-UX Reference Manual for more information on library routines.
Location of Standard HP-UX Header Files
The standard HP-UX header files are located in /usr/include directory.
Using Header Files
To use a system library function, your HP aC++ source code must include the
preprocessor directive #include.
Example:
#include <filename.h>
where filename.h is the name of the C++ header file for the library function you
want to use. By enclosing filename.h in angle brackets, the HP aC++ compiler looks
for that particular header file in a standard location on the system. The compiler first
looks for header files in /opt/aCC/include directory. When no header files are found
in this directory, it searches /usr/includeUse header file options to modify the
search path..
Example
To use the getenv function that is in the standard system libraries (/usr/lib/
libc.so and /usr/lib/libc.a), specify:#include <stdlib.h>
because the external declaration of getenv is found in the header file /usr/include/
stdlib.h.
Allocation Policies for Containers
By default, allocating memory for STL containers is optimized for large applications.
Defaults have been tuned with speed efficiency as a primary concern. Space efficiency
was considered, but was secondary. Typically, therefore, memory is not allocated as
required, because this method is slow and inefficient. The containers obtain a block of
memory to hold many elements, and when this fills up, they get another block. The
size of the block depends on the element size. As a result, containers with only a few
items might end up allocating too much memory. This default behavior can be adjusted
to individual application needs.
Creating and Using Libraries 239