Link Time
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, link time refers to the period of time, during the creation of a computer program, in which a
linker Linker or linkers may refer to: Computing * Linker (computing), a computer program that takes one or more object files generated by a compiler or generated by an assembler and links them with libraries, generating an executable program or shar ...
is being applied to that program. Link time occurs after
compile time In computer science, compile time (or compile-time) describes the time window during which a language's statements are converted into binary instructions for the processor to execute. The term is used as an adjective to describe concepts relat ...
and before runtime (when a program is executed). It is common to speak of ''link time operations'' (the operations performed by a linker) or ''link time requirements'' (
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
requirements that must be met by compiled
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
for it to be successfully linked).


Link time operations

The operations performed at link time usually include fixing up the addresses of externally referenced objects and functions, various kinds of cross module checks (e.g. type checks on externally visible identifiers and in some languages instantiation of templates). Some optimizing compilers delay code generation until link time because it is here that information about a complete program is available to them. Resolving external variables in a program is also done at link time. The link-time optimization (LTO), when enabled, occurs at link time.


Link time requirements

The definition of a programming language may specify link time requirements that source code must meet to be successfully compiled (e.g. the maximum number of characters in an externally visible identifier that must be considered significant).


Exceptions

In some
programming language A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
s it may be necessary for some compilation and linking to occur at runtime.


See also

* Program lifecycle phase *
Compile time In computer science, compile time (or compile-time) describes the time window during which a language's statements are converted into binary instructions for the processor to execute. The term is used as an adjective to describe concepts relat ...
*
Runtime (program lifecycle phase) Execution in computer engineering, computer and software engineering is the process by which a computer or virtual machine interprets and acts on the instructions of a computer program. Each instruction of a program is a description of a particul ...


References

{{DEFAULTSORT:Link Time Compiler construction