A dynamic link library (DLL, sometimes pronounced “dill”) is an executable module that may contain both application executables (compiled source code) and application resources. A DLL is similar in construction to a runtime library, except that it is not linked to the application during the compile process. Instead, DLLs are dynamically linked during execution when library resources—either executable routines or resources—are required.
DLLs have two important strengths:
NOTE
Just as .EXE resources can be modified without recompilation, .DLL resources may also be edited, extracted, or updated without recompilation. Unfortunately, the current Visual C/C++ compiler does not support opening resources from .EXE or .DLL sources, although other compilers have managed this task without difficulty.