Angelseb Posté(e) le 21 novembre 2004 Partager Posté(e) le 21 novembre 2004 Salut! J'ai eu à faire un petit exo en C sous linux, or ça ne m'affiche pas le mot "bonjour". Mon prof y a regardé et pour lui tout est bon. J'ai testé sous 2 machines différentes et tjs le même pb. Je vous file le code et si vous voyez un pb, ça serait sympa de m'expliquer pkoi : #include <stdlib.h> #include <stdio.h> #include <string.h> int main(){ int fils; int p[2]; int data; pipe(p[2]); if((fils=fork())==0) { char tampon[10]; close(p[1]); data=read(p[0],tampon,10); printf("le mot est %s\n",tampon); } else { close(p[0]); data=write(p[1],"bonjour",10); } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angelseb Posté(e) le 21 novembre 2004 Auteur Partager Posté(e) le 21 novembre 2004 Je viens de trouver... En fait il fallait non pas taper pipe(p[2]) pour ouvrir le pipe, mais pipe(p) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 21 novembre 2004 Partager Posté(e) le 21 novembre 2004 C'est une condition pour être prof de cours en programmation unix de ne rien comprendre à son cours ? Parce que là c'est quand même énnorme. On a la même chose chez nous... Rassure moi, dis moi que tu as une école qui est sur Paris en partie et à proximité de Paris pour l'autre établissement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabricer Posté(e) le 22 novembre 2004 Partager Posté(e) le 22 novembre 2004 C'est une condition pour être prof de cours en programmation unix de ne rien comprendre à son cours ?Parce que là c'est quand même énnorme. On a la même chose chez nous... Rassure moi, dis moi que tu as une école qui est sur Paris en partie et à proximité de Paris pour l'autre établissement. c franchement abusé le prof là mais bon ce genre de prof pas foutu de savoir lire du code c'est un lieu commun, on a tous connu ça. Et dire que c'est eux qui te disent de pas arriver en retard en cours. Maintenant je comprend mieux, quand t'as ce genre de niveau technique vaut mieux se lever tôt et se barrer tard du boulot si tu veux garder ta place Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 Même pas. Chez moi c'est le genre à donner un TP à huit heures et revenir vérifier que tout ce passe bien toutes les deux heures ou carrément revenir le soir à 17h pour regarder la fin... Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 zallez arreter de taper sur les profs, oui??? en plus, quand on commente pas son code, faut pas s'attendre à ce que quelqu'un ait envie de le lire Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 Parce que tu ne vois pas la différence entre l'un et l'autre sans les commentaires ? Et avec les commentaires ça fait /* création du pipe*/ pipe(p[2]) /* création du pipe*/ pipe(p) C'est vachement utile pour voir la différence. A good piece of code, you can read without comments. It's immediatly obvious. Et je ne tape pas sur les profs, j'ai certains profs vraiment exceptionnels qui m'ont beaucoup apporté et pas qu'en cours ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 oui, par exemple là, on voit bien que tu as oublié des ';' a la fin de tes instructions (je blague, mais c'est vachement important de commenter son code avec autre chose que la simple description du bout de code...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 #define pipe(a) pipe(a); Ouais, évidement qu'il faut commenter son code. Sinon quand on le file avec les sources, les autres ne peuvent pas le comprendre. Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabricer Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 oui, par exemple là, on voit bien que tu as oublié des ';' a la fin de tes instructions (je blague, mais c'est vachement important de commenter son code avec autre chose que la simple description du bout de code...) D'une manière générale on a pas a commenter des appels systèmes. Soit le type qui lit le code connait, soit il utilise son man hein, on va pas non plus paraphraser les docs posix. Le code ici est limpide, et le problème sur l'utilisation du pipe saute aux yeux dès la première seconde, d'ailleurs meme pas besoin de connaitre pipe pour voir qu'il y a un problème avec l'utilisation du pointeur p lors de l'initialisation du pipe car elle n'est pas logique. Lien vers le commentaire Partager sur d’autres sites More sharing options...
savory Posté(e) le 23 novembre 2004 Partager Posté(e) le 23 novembre 2004 sacré prof ... :) peut etre qu'un mov eax,2A int 0x80 l'aurait eclairé ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angelseb Posté(e) le 23 novembre 2004 Auteur Partager Posté(e) le 23 novembre 2004 C'est une condition pour être prof de cours en programmation unix de ne rien comprendre à son cours ?Parce que là c'est quand même énnorme. On a la même chose chez nous... Rassure moi, dis moi que tu as une école qui est sur Paris en partie et à proximité de Paris pour l'autre établissement. Apparemment faut croire que les profs veulent tout garder pour eux Je suis à l'université de Valenciennes dans le Nord (59). C'est la catastrophe pour tous les profs... Aucun explique à quoi servent précisément les fonctions, ils balancent le code, tu ne sais même pas ce que c'est censé faire J'ai un autre beau sujet d'exo là, je fais un autre sujet Vous allez surement bien rigolé en voyant mon code (qui, je pense, ne veut pas dire grand chose ). Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.