FACTOID # 11: Oklahoma has the highest rate of women in State or Federal correctional facilities.
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
People who viewed "Linker" also viewed:


FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:



(* = Graphable)



Encyclopedia > Linker
Figure of the linking process, where object files and static libraries are assembled into a new library or executable.
Figure of the linking process, where object files and static libraries are assembled into a new library or executable.

In computer science, a linker or link editor is a program that takes one or more objects generated by compilers and assembles them into a single executable program. Image File history File links Linker. ... Image File history File links Linker. ... Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ... This article is about the computing term. ...

In IBM mainframe environments such as OS/360 this program is known as a linkage editor. International Business Machines Corporation (known as IBM or Big Blue; NYSE: IBM) is a multinational computer technology corporation headquartered in Armonk, New York, USA. The company is one of the few information technology companies with a continuous history dating back to the 19th century. ... This article or section does not adequately cite its references or sources. ... OS/360 was a batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964. ...

(On Unix variants the term loader is often used as a synonym for linker. Because this usage blurs the distinction between the compile-time process and the run-time process, this article will use linking for the former and loading for the latter.) Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... In computing, a loader is a program that performs the functions of a linker program and then immediately schedules the resulting executable program for action (in the form of a memory image), without necessarily saving the program as an executable file. ...

The objects are program modules containing machine code and information for the linker. This information comes mainly in the form of symbol definitions, which come in two varieties: Machine code or machine language is a system of instructions and data directly understandable by a computers central processing unit. ...

  • Defined or exported symbols are functions or variables that are present in the module represented by the object, and which should be available for use by other modules.
  • Undefined or imported symbols are functions or variables that are called or referenced by this object, but not internally defined.

In short, the linker's job is to resolve references to undefined symbols by finding out which other object defines a symbol in question, and replacing placeholders with the symbol's address. In computer science, a subroutine (function, procedure, or subprogram) is a sequence of code which performs a specific task, as part of a larger program, and is grouped as one, or more, statement blocks; such code is sometimes collected into software libraries. ... In computer science and mathematics, a variable (IPA pronunciation: ) (sometimes called a pronumeral) is a symbolic representation denoting a quantity or expression. ...

Linkers can take objects from a collection called a library. Some linkers do not include the whole library in the output; they only include its symbols that are referenced from other object files or libraries. Libraries for diverse purposes exist, and one or more system libraries are usually linked in by default. Illustration of an application which may use libvorbisfile. ...

The linker also takes care of arranging the objects in a program's address space. This may involve relocating code that assumes a specific base address to another base. Since a compiler seldom knows where an object will reside, it often assumes a fixed base location (for example, zero). Relocating machine code may involve re-targeting of absolute jumps, loads and stores. The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... In computing, a base address denotes a memory address serving as a reference point (base) for other addresses. ...

The executable output by the linker may need another relocation pass when it is finally loaded into memory (just before execution). On hardware offering virtual memory this is usually omitted, though—every program is put into its own address space, so there is no conflict even if all programs load at the same base address. Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. ... It has been suggested that this article be split into multiple articles. ...

Dynamic linking

Modern operating system environments allow dynamic linking, that is the postponing of the resolving of some undefined symbols until a program is run. That means that the executable still contains undefined symbols, plus a list of objects or libraries that will provide definitions for these. Loading the program will load these objects/libraries as well, and perform a final linking. An operating system (OS) is a computer program that manages the hardware and software resources of a computer. ... Illustration of an application which may use libvorbisfile. ...

This approach offers two advantages:

  • Often-used libraries (for example the standard system libraries) need to be stored in only one location, not duplicated in every single binary.
  • If an error in a library function is corrected by replacing the library, all programs using it dynamically will benefit from the correction after restarting them. Programs that included this function by static linking would have to be re-linked first.

  Results from FactBites:
Linker scripts (7518 words)
The main purpose of the linker script is to describe how the sections in the input files should be mapped into the output file, and to control the memory layout of the output file.
The syntax for expressions in the linker script language is identical to that of C expressions.
The linker recognizes the standard C set of arithmetic operators, with the standard bindings and precedence levels; see Table 1: Arithmetic operators with precedence levels and bindings associations.
  More results at FactBites »



Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m