REUTILIZACIÓN DE CÓDIGO: Una arquitectura realmente reutilizable
Mostraremos a continuación una versión mejorada del programa anterior. Como se ha indicado, la solución inicial requería muchas modificaciones para reutilizar el código: se trataba de una propuesta de arquitectura, y no de un código reutilizable. Lo que sigue es un programa que permite definir la funcionalidad deseada sin modificar realmente el software ya construido, y que permanece invariable entre aplicaciones. El programa consta de los archivos siguientes:
-
aplicacion.h
-
aplicacion.c
-
cda.h
-
cda.c
-
tipos.h
-
main.c
Comenzaremos por crear un makefile adecuado para la compilación del programa, y pasaremos después a estudiar los archivos que lo componen.
Un
makefile
para el programa
Un
makefile
es una colección de instrucciones que emplea la herramienta
make
para generar un programa ejecutable a partir del código fuente. Más exactamente, en el
makefile
se especifican reglas de dependencia (qué módulo depende de qué otro módulo) y reglas de construcción (cómo se generan los
.o
necesarios como entrada del linke para crear la aplicación ejecutable final). En este caso se tienen únicamente los módulos indicados en la lista anterior, lo cual da lugar a un
makefile
bastante breve:
#
# makefile general para compilar un programa
#
# Las variables terminadas en 64 deben utilizarse para
# efectuar compilaciones en 64 bits.
#
# Última modificación: 2009 09 06
#
OBJECTS=aplicacion.o cda.o main.o
OBJECTS64=aplicacion64.o cda64.o main64.o
UTILES=/usr/include/coti/utiles.o
UTILES64=/usr/include/utiles64.o
CC=gcc
PROGRAM=program
#PROGRAM=program.exe
RM=rm -rf
#RM=del
program: $(OBJECTS)
$(CC) $(UTILES) $(OBJECTS) -o program
aplicacion.o: aplicacion.c
$(CC) -c aplicacion.c
cda.o: cda.c
$(CC) -c cda.c
main.o: main.c
$(CC) -c main.c
clean:
$(RM) *.o
$(RM) $(PROGRAM)
Este
makefile
corresponde a la versión Unix del programa. Para compilarlo, una vez creados los cuatro archivos de código fuente mencionados, basta con acceder al directorio en que se encuentran los archivos y el
makefile
anterior, y teclear:
make
para conseguir la aplicación ejecutable. Si no hay errores, se construirá el programa ejecutable y aparecerá en pantalla algo similar a lo siguiente:
gcc -c aplicacion.c
gcc -c cda.c
gcc -c main.c
gcc /usr/include/coti/utiles.o aplicacion.o cda.o main.o -o program
Si hubiera errores, el compilador los señalará y, una vez corregidos, teclearemos una vez más:
make
hasta conseguir un programa ejecutable. Una vez conseguida una compilación sin errores, y puesto que nombre de la aplicación ejecutable es
program
, bastará teclear:
./program
Un proyecto para el programa
Es evidente que cada IDE requiere un método distinto, aunque parecido, para crear este programa. En todos ellos comenzaremos por crear un proyecto adecuado para una aplicación de consola, después se añadirán los archivos
.c
y
.h
y finalmente se copiarán de Internet los correspondientes bloques de código para pegarlos en su lugar. Después es preciso indicar al IDE la ruta de acceso al archivo
utiles.h
, si es que esta no se encuentra ya dentro de la ruta de la cadena de herramientas utilizada. Finalmente, se añade
utiles.o
a las instrucciones del enlazador, y el proyecto queda listo para su compilación y ejecución. Véanse las
indicaciones multimedia
pertinentes, mucho más claras que una descripción en forma de texto e imágenes fijas.
Los archivos de que consta este programa pueden verse en la
página siguiente
.