ok, ho provato con i semafori POSIX a fare il seguente nonchè stupido programmino:
ma mi da i seguenti errori in compilazione:codice:#include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/syscall.h> #include <semaphore.h> #include <stdint.h> #define MAXNUM 1000 sem_t sem; int main(){ sem_init(&sem,1,1); int pid; int count; int j; count=0; for(j=0;j<=1;j++){ pid=fork(); if(pid==0){/*figlo*/ int ID=j; for (j=0;j<MAXNUM;j++) { sem_wait(&sem); count++; sem_post(&sem); } printf("Numero raggiunto da %d: %d", j,count); exit(1); } } }
cosa c'è che non va?codice:/tmp/ccpuI6kr.o: nella funzione "main": semafori.c: (.text+0x1d): riferimento non definito a "SEM_INIT" semafori.c: (.text+0x54): riferimento non definito a "sem_wait" semafori.c: (.text+0x62): riferimento non definito a "sem_post" collect2: error: ld returned 1 exit status

Rispondi quotando