Dynamic Link Libraries are special kinds of libraries used by modern operating systems. They do not contain code that is directly linkable with the user's program. They are pre-linked bodies of code that are called at run time and are a kind of executable, rather than a kind of archive. The advantage is that, when the DLL is updated, the user's program does not have to be relinked unless the order of the routines contained within the DLL has changed. Also, by using a DLL, very little code is added to the user program.
Win32 DLLs require that programs wishing to use a DLL must link with an import library (see above). This is so that the system loader can make the link between the user program and the DLL when the user's program is loaded at run time. The Silverfrost Fortran and C/C++ runtime libraries are contained in one or more DLLs. Usually, runtime library routines are not linked into the user program. The exception is the case where the compiler has inserted the code inline. Thus executables that use DLLs are much smaller than would otherwise be the case.