Dynamic loading vs. dynamic linking?
Dynamic linking is performed at the time of program loading only and uses compile-time established names.  Dynamic loading can be done at any point in program execution.

From wikipedia:


  Unlike static linking and loadtime linking, this mechanism allows a computer program to startup in the absence of these libraries, to discover available libraries, and to potentially gain additional functionality.