Dynamically Linked 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
Dylperl « dynamic adaptive routing « Dynamic Address
Translation « Dynamically Linked Library »
dynamically scoped » dynamically typed » dynamic