Content deleted Content added
casing |
|||
Line 11:
'''Library linking''' describes the inclusion of one or more of these software libraries into a new program. There are multiple types of linking: static linking and dynamic linking. These are described below.
== Static
'''Static linking''' is linking in which a library is embedded into the program executable at [[compile time]] by a [[linker]]. A linker is a separate utility which takes one or more libraries and [[object file]]s (which are previously generated by a compiler or an assembler) and produces an actual [[executable file]].
Line 19:
Examples of libraries which are traditionally designed to be statically linked include the [[ANSI C standard library]] and the [[ALIB assembler library]]. Static linked libraries predate Fortran; Fortran's I/O was designed to use a preexisting package of I/O routines.
== Dynamic
'''Dynamic linking''' is linking in which a library is loaded by the [[operating system]]'s [[Loader (computing)|loader]] separately from the executable file at [[loadtime]] or [[runtime]].
Line 47:
*[[Microsoft Windows]]: <code>*.DLL</code> files are dynamically linked libraries. The interface revisions are encoded in the files, or abstracted away using [[component object model|COM-object]] interfaces.
== Shared
Libraries can be linked dynamically. In [[Microsoft Windows]], those are called '''dynamically linked library''', or '''DLL'''. Conventional libraries are often called static library to distinguish from shared libraries.
|