All nontrivial C++ programs must be linked with the standard C++ library, also known as the C++ runtime. This library includes the implementations for components such as I/O streams, STL container classes, the low-level exception handling runtime, and other low-level types and classes.
This document provides background information about the C++ runtime that you may find useful if you are developing C++ programs. It also offers information about Apple’s C++ support and offers tips on how to write more compatible C++ libraries and programs.
Organization of This Document
Information about the C++ runtime environment is provided in the following articles:
“Overview of the C++ Runtime Environment” describes the state of the C++ runtime environment, including issues surrounding binary compatibility and general support.
“Deploying Applications With the C++ Runtime” provides guidelines for deploying applications using either the static or dynamic C++ standard library.
“Creating Compatible Libraries” provides tips on how to make sure your own dynamic shared libraries retain their binary compatibility even when changes occur to the C++ runtime.
“Controlling Symbol Visibility” describes new tools and techniques for controlling the symbols exported by your C++ code.