Ciao a tutti,
mi sto informando per la prima volta sulla programmazione concorrente, e sto provando a compilare un semplice programma che crea un thread figlio. Come compilatore utilizzo Dev-C++. L'errore che ottengo compilando il codice è il seguente:
`fork' undeclared (first use this function)
Qui di seguito posto il codice:
Non capisco perchè non trova la funzione fork(), gli include mi sembra di averli messi tutti...codice:#include <stdio.h> /* needed for printf() and fprintf() */ #include <stdlib.h> /* needed for EXIT_FAILURE/EXIT_SUCCESS */ #include <string.h> /* needed for strerror() */ #include <unistd.h> /* needed for fork() and getpid() */ #include <sys/types.h> /* needed for pid_t */ #include <errno.h> /* needed for errno */ int main () { pid_t res; int x = 1; res = fork (); if (res < 0) { perror ("La fork e fallita: non ho creato il figlio.\n"); exit (-1); } x++; /* sia padre che figlio eseguono questa istruzione */ if (res == 0) { /* solo il figlio esegue questo codice */ x--; printf ("Ciao sono il figlio. x = %d.\n", x); } else { /* solo il padre esegue questo codice */ x += 7; printf ("Ciao sono il padre. x = %d.\n", x); } scanf("%d", &x); return EXIT_SUCCESS; }
Grazie a tutti e speriamo qualcuno mi riesca ad aiutare!
Ciao

Rispondi quotando
Se vuoi usare fork devi lavorare su Mac OS X (o su un sistema Linux). Una funzione che fa la stessa cosa su Windows non mi pare ci sia, però potresti dare un'occhiata a CreateProcess.
