A file containing
routines which are linked with a program at
run time rather
than at compile-time. The advantage of such
dynamic linking is that only one copy of the library needs to be
stored, rather than a copy being included with each
executable that refers to it. This can greatly reduce the
disk space occupied by programs. Furthermore, it means that
all programs immediately benefit from changes (e.g.
bug
fixes) to the single copy of the library without requiring
recompilation. Since the library code is normally classified
as read-only to the
memory management system, it is possible
for a single copy of the library to be loaded into memory and
shared by all active programs, thus reducing
RAM and
virtual memory requirements and program load time.