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:
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;
}
Non capisco perchè non trova la funzione fork(), gli include mi sembra di averli messi tutti...
Grazie a tutti e speriamo qualcuno mi riesca ad aiutare!
Ciao