Linker and Libraries Guide

Lazy Loading of Dynamic Dependencies

You can defer the loading of a shared object dependency until the dependency is first referenced by establishing the object as lazy loadable. See Lazy Loading of Dynamic Dependencies.

For small applications a typical thread of execution may reference all the applications dependencies. The application loads all of its dependencies whether they are defined lazy loadable or not. However, under lazy loading, dependency processing may be deferred from process startup and spread throughout the process's execution.

For applications with many dependencies, lazy loading often results in some dependencies not being loaded at all. These dependencies are those not referenced for the particular thread of execution.