je ne comprend pas un parse error
salut !
Je souhaite dans un programme lancer un nouveau thread concurrent à l'apellant.
Pour cela, je fais appel à la fonction pthread_create dans la librairie <pthread.h>. Lors de la compilation, le message suivant apparait:
Citation:
In file included from /usr/local/lib/gcc-lib/m68k-elf/2.95.3/../../../../m68k-elf/sys-include/pthread.h:655,
from gtriweb/mofication.c:1,
from ./gtriweb/gtriweb.c:20:
/usr/local/lib/gcc-lib/m68k-elf/2.95.3/../../../../m68k-elf/sys-include/bits/sigthread.h:32: parse error before `*'
J'ouvre donc le fichier sigthread.h je me rend a la ligne 32, voici ce que j'y trouve:
Code:
1 2 3
| extern int pthread_sigmask (int __how,
__const __sigset_t *__restrict __newmask,
__sigset_t *__restrict __oldmask)__THROW; |
L'erreur se situe sur la ligne commencant par __const.
Je ne trouve pas d'erreur particuliere.
Quelqu'un aurait une idee du pourquoi de cette erreur.
Voici comment je fais appel à la fonction pthread_create
Code:
pthread_create( thread, NULL, (void*)*rampe_normale, NULL);
thread est un pointeur sur pthread_t, rampe normale est une fonction retournant rien et ne demandant aucun argument.
merci
Bibi
Re: je ne comprend pas un parse error
Citation:
Envoyé par bibi_64
Je souhaite dans un programme lancer un nouveau thread concurrent à l'apellant.
Pour cela, je fais appel à la fonction pthread_create dans la librairie <pthread.h>. Lors de la compilation, le message suivant apparait:
Citation:
In file included from /usr/local/lib/gcc-lib/m68k-elf/2.95.3/../../../../m68k-elf/sys-include/pthread.h:655,
from gtriweb/mofication.c:1,
from ./gtriweb/gtriweb.c:20:
/usr/local/lib/gcc-lib/m68k-elf/2.95.3/../../../../m68k-elf/sys-include/bits/sigthread.h:32: parse error before `*'
J'ouvre donc le fichier sigthread.h je me rend a la ligne 32, voici ce que j'y trouve:
Code:
1 2 3
| extern int pthread_sigmask (int __how,
__const __sigset_t *__restrict __newmask,
__sigset_t *__restrict __oldmask)__THROW; |
L'erreur se situe sur la ligne commencant par __const.
Je ne trouve pas d'erreur particuliere.
Quelqu'un aurait une idee du pourquoi de cette erreur.
Il est fort peu probable que l'erreur se situe à l'endoit où elle a été detectée (surtout si c'est un header appartenent à une implémentation). Il est par contre très possible qu'elle se situe ailleurs. Poste le code complet mais réduit au minimum montrant le défaut.
Citation:
Voici comment je fais appel à la fonction pthread_create
Code:
pthread_create( thread, NULL, (void*)*rampe_normale, NULL);
thread est un pointeur sur pthread_t, rampe normale est une fonction retournant rien et ne demandant aucun argument.
Plutôt bizarre... En principe, on devrait avoir ça :
Code:
1 2 3
|
thread_t thread;
pthread_create (&thread, NULL, rampe_normale, NULL); |
avec
Code:
void *rampe_normale (void *);
http://emmanuel-delahaye.developpez.com/pthreads.htm