Chapter 42: Advanced Features of Shared Libraries

The previous chapter covered the fundamentals of shared libraries. This chapter describes a number of advanced features of shared libraries, including the following:
  • 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.
42 Advanced Features of Shared Libraries
42.1 Dynamically Loaded Libraries
        42.1.1 Opening a Shared Library
        42.1.2 Diagnosing Errors from the dlopen API
        42.1.3 Obtaining the Address of a Symbol: dlsym()
        42.1.4 Closing a Shared Library: dlclose()
        42.1.5 Obtaining Information about Loaded Symbols: dladdr()
        42.1.6 Accessing Symbols in the Main Program
42.2 Controlling Symbol Visibility
42.3 Linker Version Scripts
        42.3.1 Controlling Symbol Visibility with Version Scripts
        42.3.2 Symbol Versioning
42.4 Initialization and Finalization Functions
42.5 Preloading Shared Libraries
42.6 Monitoring the Dynamic Linker: LD_DEBUG
42.7 Summary
42.8 Exercises

No comments:

Post a Comment