In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, object code or object module is the product of an
assembler or
compiler
In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
.
In a general sense, object code is a sequence of
statements or instructions in a computer language, usually a
machine code
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
language (i.e.,
binary) or an intermediate language such as
register transfer language
In computer science, register transfer language (RTL) is a kind of intermediate representation (IR) that is very close to assembly language, such as that which is used in a compiler. It is used to describe data flow at the register-transfer leve ...
(RTL). The term indicates that the code is the
goal
A goal or objective is an idea of the future or desired result that a person or a group of people envision, plan, and commit to achieve. People endeavour to reach goals within a finite time by setting deadlines.
A goal is roughly similar to ...
or result of the compiling process, with some early sources referring to source code as a "subject program".
Details
Object file
An object file is a file that contains machine code or bytecode, as well as other data and metadata, generated by a compiler or assembler from source code during the compilation or assembly process. The machine code that is generated is kno ...
s can in turn be
linked to form an
executable file
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a da ...
or
library file. In order to be used, object code must either be placed in an executable file, a library file, or an object file.
Object code is a portion of machine code that has not yet been linked into a complete program. It is the machine code for one particular library or module that will make up the completed product. It may also contain placeholders or offsets, not found in the machine code of a completed program, that the linker will use to connect everything together. Whereas machine code is binary code that can be executed directly by the CPU, object code has the jumps and inter-module references partially parametrized so that a linker can fill them in. An object file is assumed to begin at a specific location in memory, often zero. It contains information on instructions that reference memory, so that the linker can
relocate the code when combining multiple object files into a single program.
An
assembler is used to convert
assembly code into machine code (object code). A linker links several object (and library) files to generate an executable. Assemblers (and some compilers) can also assemble directly to machine code to produce executable files without the object intermediary step.
References
{{Application binary interface
Machine code
kk:Объектілік модуль
ru:Объектный модуль