An object file is a computer file containing
object code
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softw ...
, that is,
machine code
In computer programming
Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, ge ...
output of an
assembler
Assembler may refer to:
Arts and media
* Nobukazu Takemura
Nobukazu Takemura (竹村延和 ''Takemura Nobukazu'') is a Japanese musician and artist. Born in Hirakata, Osaka in August 1968, he became interested in music at a young age by listenin ...

or
compiler
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...

. The object code is usually
relocatable, and not usually directly
executable
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...
. There are various formats for object files, and the same machine code can be packaged in different object file formats. An object file may also work like a
shared library
277px, Illustration of an application which uses libvorbisfile to play an Ogg Vorbis file
In computer science
Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as ...
.
In addition to the object code itself, object files may contain
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata — the descriptive i ...

used for linking or debugging, including: information to resolve symbolic cross-references between different modules,
relocation information,
stack unwinding
In computer science
Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application.
Computer science is the study of Algor ...
information,
comments, program
symbols
A symbol is a mark, sign, or word
In linguistics, a word of a spoken language can be defined as the smallest sequence of phonemes that can be uttered in isolation with semantic, objective or pragmatics, practical meaning (linguistics), meanin ...
, debugging or
profiling information. Other metadata may include the date and time of compilation, the compiler name and version, and other identifying information.
The term "object program" dates from at least the 1950s:
A computer programmer generates object code with a
compiler
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...

or
assembler
Assembler may refer to:
Arts and media
* Nobukazu Takemura
Nobukazu Takemura (竹村延和 ''Takemura Nobukazu'') is a Japanese musician and artist. Born in Hirakata, Osaka in August 1968, he became interested in music at a young age by listenin ...
. For example, under
Linux
Linux ( or ) is a family of open-source Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to a ...

, the
GNU Compiler Collection
The GNU Compiler Collection (GCC) is an optimizing compiler
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes a ...
compiler will generate files with a .o extension which use the
ELF
An elf (plural: ''elves'') is a type of humanoid supernatural
The supernatural encompasses supposed phenomena that are not subject to the laws of nature.https://www.merriam-webster.com/dictionary/supernatural By definition, a supernat ...
format. Compilation on
Windows
Microsoft Windows, commonly referred to as Windows, is a group of several proprietary
{{Short pages monitor