https://es.wikipedia.org/wiki/C%C3%B3digo_objeto
Es un archivo con el código compilado, no tiene mucho más (relevante, quiero decir).
Una vez tienes el código fuente compilado en 1 o más ficheros objeto, en linker se encarga de juntar todos esos compilados en un ejecutable final (.exe en caso de Windows).
Cuando trabajas con varios archivos de código, normalmente se compila cada uno por separado a su propio .o. Luego, todos esos .o se enlazan en un ejecutable. Eso permite , por ejemplo, actualizar el main.cpp sin necesidad de recompilar todos los otros archivos.
Es un archivo con el código compilado, no tiene mucho más (relevante, quiero decir).
Una vez tienes el código fuente compilado en 1 o más ficheros objeto, en linker se encarga de juntar todos esos compilados en un ejecutable final (.exe en caso de Windows).
Cuando trabajas con varios archivos de código, normalmente se compila cada uno por separado a su propio .o. Luego, todos esos .o se enlazan en un ejecutable. Eso permite , por ejemplo, actualizar el main.cpp sin necesidad de recompilar todos los otros archivos.