Introducción a la programación con c

Page 214

3.9 M´odulos, bibliotecas y unidades de compilaci´on

Documentaci´ on y cabeceras Es importante que documentes bien los ficheros de cabecera, pues es frecuente que los programadores que usen tu m´ odulo lo consulten para hacerse una idea de qu´e ofrece. Nuestro m´ odulo podr´ıa haberse documentado as´ı:

extremos.h 1 2 3 4 5 6 7 8 9 10 11 12

/******************************************************* * M´ odulo: extremos * * Prop´ osito: funciones para c´ alculo de valores m´ aximos * y m´ınimos. * * Autor: A. U. Thor. * * Fecha: 12 de enero de 1997 * * Estado: Incompleto. Falta la funci´ on minimo. *******************************************************/

14 15 16

extern int maximo(int a, int b); /* Calcula el m´ aximo de dos n´ umero enteros a y b. */

¿Y por qu´e los programadores no miran directamente el fichero .c en lugar del .h cuando quieren consultar algo? Por varias razones. Una de ellas es que, posiblemente, el .c no est´e accesible. Si el m´ odulo es un producto comercial, probablemente s´ olo les hayan vendido el m´ odulo ya compilado (el fichero .o) y el fichero de cabecera. Pero incluso si se tiene acceso al .c, puede ser preferible ver el .h. El fichero .c puede estar plagado de detalles de implementaci´ on, funciones auxiliares, variables para uso interno, etc., que hacen engorrosa su lectura. El fichero de cabecera contiene una somera declaraci´ on de cada uno de los elementos del m´ odulo que se ((publican)) para su uso en otros m´ odulos o programas, as´ı que es una especie de resumen del .c.

printf ("Dame un n´ umero: "); scanf ("%d", &x); printf ("Dame otro: "); scanf ("%d", &y); printf ("El m´ aximo es %d\n", maximo(x, y)); return 0;

8 9 10 11 12 13 14

}

La u ´nica diferencia con respecto a otros #include que ya hemos usado estriba en el uso de comillas dobles para encerrar el nombre del fichero, en lugar de los caracteres ((<)) y ((>)). Con ello indicamos al preprocesador que el fichero extremos.h se encuentra en nuestro directorio activo. El preprocesador se limita a sustituir la l´ınea en la que aparece #include "extremos.h" por el contenido del fichero. En un ejemplo tan sencillo no hemos ganado mucho, pero si el m´odulo extremos.o contuviera muchas funciones, con s´olo una l´ınea habr´ıamos conseguido ((importarlas)) todas. Aqu´ı tienes una actualizaci´ on del gr´afico que muestra el proceso completo de compilaci´on: extremos.c

principal.c

Preprocesador

Compilador

Compilador

extremos.o

Enlazador

principal

extremos.h

208

Introducci´ on a la Programaci´ on con C


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.