A DLL is loaded implicitly when an application references an imported variable or calls an imported function. DLLs can be explicitly loaded by calling dllload() or dlopen(). Due to optimizations performed, the DLL implicit load point may be moved and the DLL will be loaded only if the actual reference occurs.