Libraries
XL C/C++ includes a runtime environment that contains a number of libraries.
Standard C++ library
The XL-based front end of IBM® XL C/C++ for AIX®, which is invoked by xlc/xlC, ships a modified version of the Dinkum C++ Library, a conforming implementation of the Standard C++ Library. The Standard C++ Library consists of 51 headers, including 13 headers which constitute the Standard Template Library (STL). In addition, the Standard C++ Library works with the 18 headers from the Standard C Library. The functions in these headers perform essential services such as input and output. They also provide efficient implementations of frequently used operations.
The Clang-based front end of IBM XL C/C++ for AIX, which is invoked by xlclang/xlclang++, is based on the LLVM libc++ Library. The library is an implementation of the C++ standard library, targeting C++11, C++14, and above.
For more information, see the Standard C++ Library Reference.
C++ library extensions
In addition to the Standard C++ Library, XL C/C++ 16.1 supports many extensions to the C++ language as defined by the Draft Technical Report on C++ Library Extensions (TR1).
For more information about these language extensions, see Draft Technical Report on C++ Library Extensions (TR1).
Mathematical Acceleration Subsystem library
The Mathematical Acceleration Subsystem (MASS) library consists of scalar and vector mathematical built-in functions tuned specifically for optimum performance on supported processor architectures. You can choose a MASS library to support high-performance computing on a broad range of processors, or you can select a library tuned to support a specific processor family.
The MASS library functions support both 32-bit and 64-bit compilation
modes and offer improved performance over the default libm math library
routines. These libraries are threadsafe and are called automatically when you request specific
levels of optimization for your application. You can also make explicit calls to MASS library
functions, whether optimization options are in effect or not.
For more information, see Using the Mathematical Acceleration Subsystem .
Basic Linear Algebra Subprograms
- Compute the matrix-vector product for a general matrix or its transpose.
- Perform combined matrix multiplication and addition for general matrices or their transposes.
For more information about using the BLAS functions, see Using the Basic Linear Algebra Subprograms.
Support for Boost libraries
IBM XL C/C++ for AIX 16.1 provides support for the Boost V1.55.0 libraries. A patch file is available that modifies the Boost 1.55.0 libraries so that they can be built and used with XL C/C++ applications. The patch or modification file does not extend nor provide additional functionality to the Boost libraries.
To access the patch file for building the Boost libraries, go to Boost Library Regression Test Summaries and select download required Boost modification file for your compiler release and platform.
IBM XL C/C++ for AIX does not ship the Boost libraries, but you can download the latest Boost libraries at http://www.boost.org/.
Other libraries
- SMP Runtime Library supports both explicit and automated parallel processing.
- The memory debug runtime library is used for diagnosing memory leaks. See Using memory heaps.
- XL C++ Runtime Library contains support routines needed by the compiler.
The demangler library provides routines and classes for demangling linkage names created by
the C++ compiler.
For more information about support for libraries, search on the XL C/C++ Compiler support page at https://www.ibm.com/mysupport/s/topic/0TO0z0000006v6TGAQ/xl-cc?productId=01t0z000007g72LAAQ.