dynamic link library

from The Free On-line Dictionary of Computing (8 July 2008)
Dynamically Linked Library
dynamic link library

   <library> (DLL) A {library} which is linked to {application
   programs} when they are loaded or run rather than as the final
   phase of {compilation}.  This means that the same block of
   library code can be shared between several {tasks} rather than
   each task containing copies of the routines it uses.  The
   executable is compiled with a library of "{stubs}" which allow
   {link errors} to be detected at {compile-time}.  Then, at {run
   time}, either the system {loader} or the task's entry code
   must arrange for library calls to be patched with the
   addresses of the real shared library routines, possibly via a
   {jump table}.

   The alternative is to make library calls part of the
   {operating system} {kernel} and enter them via some kind of
   {trap} instruction.  This is generally less efficient than an
   ordinary {subroutine} call.

   It is important to ensure that the version of a dynamically
   linked library is compatible with what the executable expects.

   Examples of operating systems using dynamic linking are
   {SunOS} (.so - shared object files), {Microsoft Windows}
   (.dll) and {RISC OS} on the {Acorn} {Archimedes} (relocatable
   modules).

   (1995-12-12)
    

[email protected]