HOME

TheInfoList




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 ...

assembler
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 ...

compiler
. 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 ...

metadata
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 ...

compiler
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 ...

Linux
, 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