/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

problema con los #include

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
sheko7



Registrado: 11 Abr 2006
Mensajes: 12

MensajePublicado: 30/10/2007 5:34 pm
Título: problema con los #include

Bueno, mi profesor nos puso un codigo de ejemplo para hacer una tarea, pero tengo un problema con los include (y lamentablemente no puedo preguntarle a mi profesor por que tuvo que viajar por toda esta semana), no me reconoce algunos include (que yo jamas habia utilizado antes), aqui les dejo el codigo completo (puede que tenga algo mal escrito por que lo escribi desde una guia y como todabia no me compila, no he visto los posibles errores de escritura)

Código:

// ejemplo_profe.c

#include <stdio.h>

#include <sys/time.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/ipc.h>

#include <sys/shm.h>

#include <sys/sem.h>

#include <errno.h>



struct nodo {

       struct nodo *next;

       int k;

       char c;

};



char *seg_init, *disponible;

int id_seg;



void *shared_malloc(size_t size){

     void *addr;

     

     addr = (void *)disponible;

     disponible += size + 1;

     

     return addr;

}



main(){

       struct nodo *p, *q;

       // ejemplo q crea una lista de 3 nodos

       

       //solicitamos memoria al sistema operativo. La funcion shmget retorna cdigo

       //del segmento de datos. Esta caracteristica forma parte del modulo IPC del kernel

       

       if((id_seg = shmget(IPC_PRIVATE, 4096, 0660)) == -1){

                  perror (strerror(errno));    // imprime mensaje indicando causa de error

                  exit(-1);

       }

       

       // obtenemos el puntero a dicha memoria o segmento compartido

       seg_init = (char *)shmat(id_seg, (char*),0, 0);

       disponible = (char *)seg_init;

       

       printf("Tamaño del nodo %d bytes \n", sizeof(struct nodo));

       

       // llamamos a nuestra funcion shared_malloc para crear el primer nodo de la list

       p = (struct nodo *)shared_malloc(sizeof(struct nodo));

       

       p->c = ŽcŽ;

       p->k = 100;

       q->next = p;



       //creamos el 3er nodo

       p = (struct nodo *)shared_malloc(sizeof(struct nodo));

       

       p->c = ŽjŽ;

       p->k = 75;

       p->next = q;

       

       q = p;

       printf("Ahora recorremos la lista completa y mostramos el contenido de cada nodo \n");

       while( q!= NULL) {

              printf("el char: %c el entero: %d el puntero next: 0x%x, y el puntero q: 0x%x \n", q->c, q->k, q->next, q);

              q = q->next;

       }

       

       shmdt((char *)seg_init);   // el progreso se desliga del segmento compartido

       shmctl(id_seg, IPC_RMID, 0);    // destruye el segmento de memoria compartido

       

}




los errores que me dan son los siguientes

ejemplo_profe.c:1:19: error: stdio.h: No existe el fichero ó directorio
ejemplo_profe.c:2:22: error: sys/time.h: No existe el fichero ó directorio
ejemplo_profe.c:3:20: error: unistd.h: No existe el fichero ó directorio
ejemplo_profe.c:4:23: error: sys/types.h: No existe el fichero ó directorio
ejemplo_profe.c:5:21: error: sys/ipc.h: No existe el fichero ó directorio
ejemplo_profe.c:6:21: error: sys/shm.h: No existe el fichero ó directorio
ejemplo_profe.c:7:21: error: sys/sem.h: No existe el fichero ó directorio
ejemplo_profe.c:8:19: error: errno.h: No existe el fichero ó directorio
ejemplo_profe.c:10:27: error: sys/stat.h: No existe el fichero ó directorio

Entre otros errores mas que supongo que se arreglaran si arreglo esto.
He intentado compilarlo con Dev-c, Visual C++ 2005 express y con la shell de Ubuntu, pero en todos me da el mismo problema, espero que me puedan ayudar, de antemano muchas gracias
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3650
Ubicación: Mexico

MensajePublicado: 31/10/2007 6:44 am
Título:

Parece ser que el error se debe a que tienes mal configurados los tres entornos ya que en el peor de los casos los headers de la biblioteca estandar de C (espero que no sea C++) como <stdio.h> deberian ser reconocidos por los tres entornos. Los otros headers como <unistd.h>, <sys/types.h>, etc. pueden generar errores dependiendo si el compilador los soporta o no.

En el caso de Dev-C++ (utilizando GCC/Cygwin como compilador) este reconoce todos los archivos de inclusion y supongo que el otro compilador (MinGW) tampoco debe generar problemas siempre y cuando este configurado correctamente.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
sheko7



Registrado: 11 Abr 2006
Mensajes: 12

MensajePublicado: 31/10/2007 3:20 pm
Título:

reinstale el dev y ahora solo me salen estos errores

ejemplo_profe.c:5:21: error: sys/ipc.h: No existe el fichero ó directorio
ejemplo_profe.c:6:21: error: sys/shm.h: No existe el fichero ó directorio
ejemplo_profe.c:7:21: error: sys/sem.h: No existe el fichero ó directorio

alguna sugerencia?
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3650
Ubicación: Mexico

MensajePublicado: 31/10/2007 4:48 pm
Título:

Lo mejor que puedes hacer es preguntarle a tu profesor que compilador se supone que debes utilizar para compilar los ejemplos que este te da ...

... otra opcion es como ya te comente instalar la version de Dev-C++ sin compilador e instalar por separado el entorno Cygwin junto con su version de GCC (CygMing) ya que este ultimo si incluye esos headers, para esto tendria que asesorarte algun otro miembro del foro ya que los compiladores que tengo instalados incluyendo CygMing los utilizo sin el uso de entornos graficos como Dev-C++.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
sheko7



Registrado: 11 Abr 2006
Mensajes: 12

MensajePublicado: 31/10/2007 8:11 pm
Título:

bueno, ahora me funciona un ubuntu (no se que fue lo que hice xD), pero con Dev-c++ sigue sin funcionar, el problema es que estoy acostumbrado a usar compiladores (como el dev y el visual c++), ¿hay algun compilador grafico para linux que me recomienden?
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 3650
Ubicación: Mexico

MensajePublicado: 01/11/2007 9:06 am
Título:

Si estas utilizando la version de Dev-C++ con compilador incluido esos errores se deben a que MinGW no incluye lo headers que causan los mentados mensajes.

La solucion a eso es instalar por separado el entorno Cygwin incluyendo su version de GCC y utilizar este (y no MinGW) como el compilador utilizado por Dev-C++.

No quiero sonar como un pesado pero todo esto ya lo habia comentado en mi mensaje anterior.

Un saludo
_________________
The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
Volver arriba
sheko7



Registrado: 11 Abr 2006
Mensajes: 12

MensajePublicado: 01/11/2007 1:38 pm
Título:

ya instale el cygwin, ¿ahora como lo utilizo con el dev-c?
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com