Microsoft has provided a way of linking a library dynamically. Under Windows terminology, such a library is referred to as Dynamic Link Library (DLL). A DLL is an executable file that gets loaded when an application that uses the DLL gets executed.
DLLs can reduce memory and disk space requirements by sharing a single copy of common code and resources among multiple applications. When more than one application uses the same DLL, the operating system is smart enough to share the DLL’s read-only executable code among all the applications.
DLLs are compiled and linked independently of the applications that use them; they can be updated without requiring applications to be recompiled or relinked.
If several applications work together as a system and they all share such common DLLs, the entire system can be improved by replacing the common DLLs with enhanced versions. A bug fix in one such DLL indirectly fixes the bug in all applications that use it. Likewise, performance enhancements or new functionality in the DLL benefit all applications that use the DLL.