[C con Clase] directivas del preprocesador

Steven Davidson srd4121 en njit.edu
Dom Abr 26 03:47:31 CEST 2009


Hola Alexander,

Rednaxela wrote:
> Hola,
> Tengo un archivo de cabecera que se llama "funciones.h", el cual
> contiene los prototipos de unas funciones que realice en un archivo
> "funciones.c" en éste archivo  he agregado por ejemplo a "string.h",
> lo que quiero es que no vallar a resultar agregando dos veces a
> "string.h"; en el codigo fuente (principal) y tambien en
> "funciones.c".
> Lo que voy es como provar que "string.h" ya esta agregado en el
> codigo fuente (principal) para que no lo agregue en "funciones.c",

Si "string.h" es un fichero de cabecera estándar, entonces no es 
necesario hacer la comprobación, ya que está escrito para incluirse una 
sola vez. Si es un fichero de cabecera que tú mismo has escrito, 
entonces aconsejo usar las directivas del precompilador para asegurar 
que se incluye una sola vez. Por ejemplo,

// "sting.h"

#ifndef _STRING_H_
#define _STRING_H_

// Escribe todo lo relevante a "string.h"
...

#endif


De esta manera, sólo se incluirá el contenido de "string.h" una sola 
vez, por código fuente. Los ficheros de cabecera estándares ya hacen 
esto, por lo que no hay que preocuparse por múltiples inclusiones.


Espero haber aclarado el asunto.

Steven





Más información sobre la lista de distribución Cconclase