Bonjour, je suis en train de développez un petit programme pour m’entraîner a la programmation système sur linux, j'ai donc crée plusieurs fonctions :
et j'ai crée une fonction "nouveau_process(void (*fonction) (void))" destiné a crée un processus pour la fonction passé en paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int etat_barriere(int name); int etat_feux_tricolore(int name); void postionner_barrier(int name, int position); void eclairer_feux_tricolore(int name, int couleur);
ainsi après je pensais pouvoir lancer une de mes 4 fonctions dans un nouveau processus en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int nouveau_process(void (*fonction)(void)){ pid_t processus; processus = fork(); if (processus == -1) { return 0; } else if (processus != 0) { return(fonction); } }
Mais a la compilation j'obtient : utilisation invalide d'expression void
Code : Sélectionner tout - Visualiser dans une fenêtre à part nouveau_process(eclairer_feux_tricolore(23, 1))
Partager