Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Borito30 en 26 Febrero 2017, 16:19 pm



Título: que es un fichero .o en c++?
Publicado por: Borito30 en 26 Febrero 2017, 16:19 pm
Para que sirve y que es un fichero .o? Se utilizan mucho para linkear pero desconozco que son como funcionan y para que se utilizan  :huh:


Título: Re: que es un fichero .o en c++?
Publicado por: ivancea96 en 26 Febrero 2017, 16:29 pm
https://es.wikipedia.org/wiki/C%C3%B3digo_objeto (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.


Título: Re: que es un fichero .o en c++?
Publicado por: Borito30 en 26 Febrero 2017, 16:57 pm
https://es.wikipedia.org/wiki/C%C3%B3digo_objeto (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.

Una pregunta la compilacion de un ejecutable se podría resumir de la siguiente manera:
(https://i.imgsafe.org/2fa937a7ab.png)

Como me mostrastes en tu enlace en la fase 3 enlazaría los ficheros objeto al ejecutable creo.


Título: Re: que es un fichero .o en c++?
Publicado por: ivancea96 en 26 Febrero 2017, 17:26 pm
Sí. Y bueno, también las librerías (que no dejan de ser ficheros objeto muchas de ellas)