The Full Wiki

Object code: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


(Redirected to Object file article)

From Wikipedia, the free encyclopedia

In computer science, an object file is an organized collection of named objects[citation needed], and typically these objects are sequences of computer instructions in a machine code format, which may be directly executed by a computer's CPU. Object files are typically produced by a compiler as a result of processing a source code file. Object files contain compact code, and are often called "binaries". A linker is typically used to generate an executable or library by amalgamating parts of object files together. Object files for embedded systems typically contain nothing but machine code but generally, object files also contain data for use by the code at runtime: relocation information, stack unwinding information, comments, program symbols (names of variables and functions) for linking and/or debugging purposes, and other debugging information.


Object file formats

An object file format is a computer file format used for the storage of object code and related data typically produced by a compiler or assembler.

There are many different object file formats; originally each type of computer had its own unique format, but with the advent of Unix and other portable operating systems, some formats, such as COFF and ELF, have been defined and used on different kinds of systems. It is common for the same file format to be used both as linker input and output, and thus as the library and executable file format[citation needed].

The design and/or choice of an object file format is a key part of overall system design. It affects the performance of the linker and thus programmer turnaround while developing. If the format is used for executables, the design also affects the time programs take to begin running, and thus the responsiveness for users. Most object file formats are structured as blocks of data, each block containing a certain type of data. These blocks can be paged in as needed by the virtual memory system, needing no further processing to be ready to use.

One simple object file format is the DOS .COM format, which is simply a file of raw bytes that is always loaded at a fixed location. Other formats are an elaborate array of structures and substructures whose specification runs to many pages.

Debugging information may either be an integral part of the object file format, as in COFF, or a semi-independent format which may be used with several object formats, such as stabs or DWARF.

The GNU Project's BFD library provides a common API for the manipulation of object files in a variety of formats.

Types of data supported by typical object file formats:

Notable object file formats

  • OpenVMS
    • ELF
    • DWARF – Debugging and Traceback information format

See also




Got something to say? Make a comment.
Your name
Your email address