problème passage paramètre pthread_create ? - C - Programmation
Marsh Posté le 16-08-2004 à 10:55:16
moi je ferais comme ça :
- création d'une structure contenant tes arguments :
Code :
|
ensuite une petite fonction wrapper qui va bien (pour encapsuler ta fonction thread et la structure) :
Code :
|
- et enfin, le main :
Code :
|
vala
Marsh Posté le 16-08-2004 à 11:24:20
bof, c'est incorrect au niveau des types. 2 secondes je recherche mon exemple
Marsh Posté le 16-08-2004 à 11:26:28
ReplyMarsh Posté le 18-08-2004 à 16:05:20
Merci.
J'aurais encore voulu savoir un truc.
voila j'ai ma fonction qui prend une structure.
J'aimerais retourné une chaine de caractère.
Code :
|
Est ce que la valeur de retour je peut la mettre dans : pthread_exit(chaine);
voila ce que je fais après pour la fin des threads :
Code :
|
La valeur de retour, elle correspondrait à status ? Comment la récupérer ?
Je n'arrive pas à retourné la chaine.
Merci.
Marsh Posté le 19-08-2004 à 10:42:25
on retourne JAMAIS de tableau.
essaye p-e avec une allocation dynamique ... (je connais mal les pthread)
Marsh Posté le 19-08-2004 à 10:56:41
BlackGoddess a écrit : on retourne JAMAIS de tableau. |
faux. on ne retourne jamais une référence à une variable locale.
BlackGoddess a écrit : |
y a aucun problème
Marsh Posté le 19-08-2004 à 10:57:41
bin un tableau est forcément local non ?
Marsh Posté le 19-08-2004 à 11:01:02
non ce que je veux dire c'est qu'on pourrait te passer quelque chose (pointeur, référence, etc) en argument, à ce moment là tu peux le retourner au contexte appelant sans problème
Marsh Posté le 19-08-2004 à 11:03:07
ok je vois ce que tu veux dire
Marsh Posté le 16-08-2004 à 10:43:02
Je dois utilisé pthread_create :
int pthread_create(pthread_t * thread, pthread_attr_t * attr, fonction, arguments);
j'ai une fonction qui prend 4 arguments et je dois passé cette fonction dans pthread_create mais je sais pas comment faire pour passé la fonction et les 4 arguments.
Merci.
Message édité par manson69 le 16-08-2004 à 10:43:40