Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Object file
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|File containing relocatable format machine code}} {{use dmy dates|date=November 2023|cs1-dates=y}} {{use list-defined references|date=November 2023}} An '''object file''' is a [[Computer file|file]] that contains [[machine code]] or [[bytecode]], as well as other data and [[metadata]], generated by a [[compiler]] or [[Assembler (computing)|assembler]] from [[source code]] during the compilation or assembly process. The machine code that is generated is known as [[object code]]. The object code is usually [[Relocation (computing)|relocatable]], and not usually directly [[executable]]. 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]]. The metadata that object files may include can be used for linking or debugging; it includes information to resolve symbolic cross-references between different modules, [[relocation (computing)|relocation]] information, [[stack unwinding]] information, [[Comment (computer programming)|comments]], program [[symbol (computing)|symbols]], and debugging or [[profiling (computer programming)|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: {{quote|A term in automatic programming for the machine language program produced by the machine by translating a source program written by the programmer in a language similar to algebraic notation.<ref name="Wrubel_1959"/>}} A [[linker (computing)|linker]] is used to combine the object code into one executable program or library pulling in precompiled system libraries as needed.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)