Compilación con gcc de una aplicación que se compone de más de un fichero fuente¶
En los siguientes enlaces tienes un ejemplo de aplicación que se compone de dos ficheros fuente C. Un fichero con el módulo principal y otro con un módulo auxiliar .
Vamos a compilar dicha aplicación de dos maneras fiferentes
Compilación básica (una aplicación con más de un fichero fuente)¶
Compilar y montar (link) de forma simple la aplicación con dos ficheros fuente para generar el ejecutable¶
Se trata de ejectutar el program gcc pasándole la lista de ficheros fuente C y el nombre del ejecutable:
$ gcc Despertador_m.c Despertador_f.c -o Despertador_1
De este modo, se compila ambos ficheros y se genera únicamente el fichero de la aplicación con el ejecutable
Ejecutar el programa¶
Puedes ejecutar la palicación como siempre.
$ ./Despertador_1 3 "Prueba 1 de dormir"
Compilación separada con gcc¶
Ahora vamos a crear la aplicación pero utilizando la compilación separada. Para ello, primero compilaremos cada uno de los ficheros fuentes, para genererar sus respectivo ficheros de módulo objeto.
$ gcc Despertador_m.c # Que genenerá el fichero objeto Despertador_m.o
$ gcc Despertador_f.c # Que genenerá el fichero objeto Despertador_f.o
Y posteriormente montaremos los ficheros objeto para crear la aplicación ejecutable.
$ gcc Despertador_m.o Despertador_f.o Despertador_2 -o
De este otro modo (Compilación Separada), para cada fichero se si fichero objeto y posteriormente se genera el fichero ejecutable de la aplicación.
Y para ejecutar el programa¶
$ ./Despertador_2 4 "Prueba 2 de dormir"
¿Qué método de compilación es el más adecuado?¶
Supongamos que ahora tenemos que desarrollar una aplicación que se compone de más de 15 ficheros fuente C. ¿Que método de compilación sería el más adecuado?
En en una actividad del Tema 5, podrás estudiar que método sería el más adecuado.