How can an object file be executed without startup and housekeeping?
I came from Windows and I am want to learn how C++ programs are compiled and executed in Linux.
I read in "Thinking in C++" that the linker adds (by default) a startup module to the object files that an application should be made of.
Now when I use g++, I can create an single object module out of a single source code file then execute it in the terminal like this:
How can this object file be executed while it doesn't contain the startup module?
In Windows, object files usually get combined into an executable file (somthing.exe) then that executable can be executed, is this not necessary in Linux? does the OS perform required actions before it executes that object file?
Thanks in advance.