I stumbled upon the terminology of “executable image” in the Hello World module of the “Learn C++” course, specifically in the “Compile & Execute” reading.
I searched online for an executable image, and I got this definition:
However, I still need clarification on it. Any explanation of what is an executable image is highly appreciated.
Another query I have is on this quote which is located in the Hello World module of the “Learn C++” course, specifically (again) in the “Compile & Execute” reading:
A compiler translates the C++ program into machine language code which it stores on the disk as a file with the extension .o (e.g. hello.o ).
However, while doing the Hello World module’s lessons, all the executable files we deal with end in “.out” not in “.o.” I am confused because Codecademy introduced this new file extension in the reading without dealing with it in the previous lessons. So, what is the difference between “.out” and “.o” in C++?
This is the first time I seen the word executable image, and from what I have searched so far, it should be another name for the final executable file / application where you can simply run it (Correct me if im incorrect).
For your second question, .o is the binary / object code generated from the compiler. However, it is not executable on it’s own. It is the “Compile” Process in C++ “Compile & Execute”.
Then it’s the linker work, to combine various .o files and Program libraries into a single executable (.exe / .out).