Bonjour,
je cherche à mieux comprendre le bout de code (venant d'un livre) que voici:
si je comprend bien sur la fonction pthread_create on a en deuxième paramètre un pointeur de fonction... mais pourquoi (void *(*)()) devant?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <stdio.h> #include <pthread.h> int i; void addition(void) { i = i + 10; printf("hello thread fils i=%d\n", i); i = i + 20; printf("hello thread fils i=%d\n", i); } int main(void) { pthread_t num_thread; i = 0; if(pthread_create(&num_thread, NULL, (void *(*)())addition, NULL) == -1) perror("pb pthread_create\n"); i = i + 1000; printf("thread principal %d\n", i); i = i + 2000; printf("thread principal %d\n", i); pthread_join(num_thread, NULL); }
je n'arrive pas à décortiquer
merci bien
Partager