No credit card required
The previous chapter covered the fundamentals of shared libraries. This chapter
describes a number of advanced features of shared libraries, including the
dynamically loading shared libraries;
controlling the visibility of symbols defined by a shared library;
using linker scripts to create versioned symbols;
using initialization and finalization functions to automatically execute code
when a library is loaded and unloaded;
shared library preloading; and
using LD_DEBUG to monitor the operation of
the dynamic linker.
When an executable starts, the dynamic linker loads all of the shared libraries in the program’s dynamic dependency list. Sometimes, however, it can be ...