|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() khadidja tih Inscription : novembre 2010 Messages : 157 ![]() |
Salut !
J'essaye d'écrire un programme avec deux thread le 1er permet la lecture d'un caractère et le 2eme l'afficher, j'ai une erreur avec le 1er thread qui permet la lecture voici mon code, je précise que je suis sur Linux Code :
|
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 708 ![]() |
http://www.linux-kheops.com/doc/man/...ad_join.3.html
Voir la section "valeur renvoyée". Il te donne une liste des codes. Regarde la valeur de ce code, que tu n'affiches pas avec le code actuel.
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() |
Pour commencer, utilise scanf("%c"), pas %s.
__________________
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant. "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?" Apparently everyone. -- Raymond Chen. Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : décembre 2012 Messages : 9 ![]() |
Tu fais erreur dans le traitement des erreurs
Code :
if(pthread_create(pth,0,lecture,NULL)) ce que je te conseil c'est d'enlever le traitement des erreurs vu que tu utilises de simple fonction bien définie Une autre remarque, il faut synchroniser la fonction lecteur et la fonction rédacteur, il y a plusieurs manière de le faire, des sémaphores, ou de simple variables booléenne ce qui serait l’idéal si tu ne les synchronise pas, la fonction afficher s’exécute plusieurs fois en affichant le même caractère Pour terminer, il faut séparer la variable ou tu récupères le caractère, en utilisant deux variable, une pour récuperer le caractère, une autre pour faire le test (!='F' || ='f') et d'envoyer première variable à la fonction afficher Bon courage |
|
|
01
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() ![]() Ingénieur systèmes embarqués Inscription : juin 2009 Messages : 1 708 ![]() |
Citation:
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^ Pour vos problèmes d'embarqué, utilisez le forum dédié ! |
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() ![]() Alexandre LaurentIngénieur développement logiciels Inscription : mai 2008 Messages : 10 443 ![]() |
Bonjour,
Citation:
Mais si bien définie et sûre, il faut vérifier les erreurs, car il arrive toujours que l'utilisateur ne sache pas les utiliser correctement, ou encore, qu'il insère de mauvais paramètres et que cela provoque crash ou autre. Ce n'est pas parce que l'on vous donne des outils surs, que vous n'allez pas essayer de me planter un clou avec une perceuse (c'est une image bien sur).
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi ![]() La rubrique a aussi un blog ! Ma page sur DVP Mon Portfolio Qui connaît l'erreur, connaît la solution. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com