Bonjour,

Je voudrait passer en argument une structure dans la fonction pthread_create
Je fais comme suit sans résultat

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]);
  }
}
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

Merci de vos lumiéres