C/Visual C - .H

 
Vista:

.H

Publicado por sesur (7 intervenciones) el 31/05/2004 01:34:34
Hola, quisiera saber como puedo meter unas funciones que tengo en una libreria,
especifico las funciones:

/*************************************COLAS*****************************/

//ESTRUCTURA DE LA COLA
struct cola{
int info;
struct cola *sig;
struct cola *ant;
};

//CREA EL NODO DE ENCABEZAMIENTO DE LA COLA
struct cola crear_cola()
{
struct cola *nuevo=new cola;
nuevo->sig=nuevo->ant=nuevo;
}

//REVISA SI ESTA VACIA LA COLA
int vacia_cola(struct cola *p)

{
return(p->sig==cola);

}

//DEVUELVE EL INFO DEL PRIMER NODO DE LA COLA
int getinfo_cola(struct cola *p)
{

if (!vacia_cola(p))
return(p->sig->info);
}

//BORRA EL PRIMER NODO DE LA COLA, DEVUELVE SU PARTE INFO
int atender(struct cola *p)
{
struct cola *q;
int x;

if (!vacia_cola(p))
{
q=p->sig;
p->sig=q->sig;
p->sig->ant=p;
x=q->info;
free(q);
retur(x);
}

}

//INSERTA UN NUEVO NODO EN LA COLA
void suma(struct cola *p, int x)
{

struct cola *nuevo=new cola;
nuevo->ant=p->ant;
nuevo->sig=p;
p->ant->sig=nuevo;
p->ant=nuevo;
nuevo->info=x;

}

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:.H

Publicado por chuidiang (677 intervenciones) el 01/06/2004 00:21:33
Haces un .h con los prototipos de las funciones. Más o menos esto

struct cola crear_cola()
{
struct cola *nuevo=new cola;
nuevo->sig=nuevo->ant=nuevo;
}
int vacia_cola(struct cola *p) ;
int getinfo_cola(struct cola *p);
...

Luego, en un .c metes el código de las funciones y lo compilas como libreria (si es windows, obtedrás una .lib o una .dll, si es linux, obtendras una .a o una .so).

Ya está. El código que utilice esto, tendrá que poner #include de tu .h y a la hora de linkar, añadir la .dll, .lib o lo que sea.

Si quieres un explicación más detallada para linux, la tienes en http://www.geocities.com/chuidiang/herramientas/librerias.html Si es para windows, los conceptos (y la forma de hacer el código) son los mismos, pero cambiarán las ordenes de compilado según que compilador uses.

Se bueno.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar