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:
An executable image of a program is the program captured in a state that is executable. It is a frozen image, just an image, a still, of the program on disk that can be loaded as is and control can be passed to it, brought to life from that point on. An image implies that it’s not only an image as in a snapshot of the program state but one that is ready to be executed and control can be passed to it and it can correctly operate and do its own thing.
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++?