Duda sobre declaración e implementación

Duda sobre declaración e implementación

de Carlos I. Colombana Nu -
Número de respuestas: 3

Hola.


Entiendo que en el archivo "info.h" se declaran los tipos de datos, funciones y procedimientos.

Entiendo que en "info.cpp" se implementan los tipos de datos, funciones y procedimientos.

Entiendo que en "principal.cpp" se incluye "info.h" como librería, además de las librerías estándar.

Pero no termino de entender la inclusión de "info.h" en "info.cpp".


Gracias.

Saludos.

En respuesta a Carlos I. Colombana Nu

Re: Duda sobre declaración e implementación

de Esteban David Dos Santos Mello Rodriguez -
Se incluye "info.h" en "info.cpp" porque utilizas en info.cpp  lo que indicas en el primer renglón (datos, funciones y procedimientos) que pertenecen a info.h. Espero se entienda.
Saludos!
En respuesta a Esteban David Dos Santos Mello Rodriguez

Re: Duda sobre declaración e implementación

de Carlos I. Colombana Nu -
Hola.

¿En "info.cpp" se utilizan o se implementan datos, funciones y procedimientos?.

Al momento de utilizar desde "principal.cpp" datos, funciones y procedimientos declarados en "info.h" e implementados en "info.cpp", ¿cómo es el proceso de compilación y enlazado?.

¿Primero se genera el objeto "info.o" en el cuál se encapsulan las declaraciones ("info.h") e implementaciones ("info.cpp"), y luego con ese objeto se genera el objeto "principal.o" y el ejecutable?.

No termino de entender del todo el proceso de compilación en dos fases y enlazado. No logro apreciar del todo cómo los módulos se van llamando unos a otros, desde una visión global del problema.

Muchas gracias.

Saludos.

En respuesta a Carlos I. Colombana Nu

Re: Duda sobre declaración e implementación

de Esteban David Dos Santos Mello Rodriguez -

En info.h se declaran las funciones, en info.cpp implementas las funciones declaradas en info.h y principal.cpp es quien usa esas funciones. Podes pensarlo como si todo estuviese en un solo archivo y funcionaría de igual forma. La utilidad de hacerlos en archivos separados es la misma que tienen las librerias en general, ahorrarte tiempo y codigo en caso de usarlas más veces.

Y lo de compilación en dos fases es como si copiara todas las librerías que invocas con #include y las pegara en el mismo codigo donde se ejecutarán y la segunda fase es compilar.