The .obj file, what is it?

Stanislav Blinov via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed May 3 04:09:33 PDT 2017


On Wednesday, 3 May 2017 at 10:55:44 UTC, I Lindström wrote:
> So, a question from a beginner. What is the .obj file that 
> appears after the source is compiled into the executable? I 
> can't find a good explanation on the Net for it. I take it the 
> file has to accompany the executable for the program to 
> function since the online explanations I've found say it 
> contains instructions and is related to memory management? It's 
> been bugging me from the start.

The source is not compiled into the executable. The source is 
compiled into a "object code", output into an "object file" - in 
this case, the .obj file. Afterwards, object files are linked by 
a linker (usually also taking other object files and/or 
libraries) to produce an executable or a library.
.obj files are not needed to be redistributed, they've served 
their purpose when the final target executable or library has 
been created. But it's useful to keep them in the development 
environment, as usually the build environment would not spend 
time recompiling the code when an up-to-date object files are 
present.


More information about the Digitalmars-d-learn mailing list