Dynamic Link Libraries
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 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.