In the last chapter we touched on some aspects of dynamic libraries, but the full picture is considerably more complex. There are several areas in the use of dynamic libraries that can catch the unwary and especially affect the use of C++.
Most of the issues discussed in this chapter aren't specific to C++, or even to C/C++, but they do have relevance to all our day-to-day development experiences, and also inform on C++ specific issues that are discussed in later chapters.
There are four main problems one encounters when working with dynamic linkage: identity, lifetime, versioning, and resource ownership.
Before we delve into those three important issues, I want to talk a little more about ...