Bonjour,
Je voudrait passer en argument une structure dans la fonction pthread_create
Je fais comme suit sans résultat
Ca plante sur le printf. j'ai cru comprendre qu'il fallait passer par des cast, mais je ne sais pas ce que c'est
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
25
26
27
28
29 struct data { int i0,i1; double *p; } my_struct; void *myThread(void *arg) { printf("%lf",(struct data *)arg->i0); pthread_exit(NULL); } void calcul_emit_thread_(int *iptsss,double *cord,double *loss) { int i; int ret; pthread_attr_t *thAttr[2]; thAttr[0]=thAttr[1]=NULL; pthread_t tid[2]; struct data *str[2]; str[0]=(struct data *)malloc(sizeof(struct data)); str[1]=(struct data *)malloc(sizeof(struct data)); for (i=0;i<2;i++) { pthread_create(&tid[i], thAttr[i], myThread, (void *)str[i]); } }
Merci de vos lumiéres
Partager