Petite question avt d'exposé mon probl sur C

Fermé
mamie gaté - 8 déc. 2003 à 14:14
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 - 10 déc. 2003 à 13:21
bonjour a tous

je veux savoir puisqu'il s'agit d'un forum pour les probleme de programmation si c possible de vous faire pare de mon prob sur un code.
si je l'ecri a peine 9 ligne si vous pouriez m'aider sur le comment du pourquoi. sinon dite moi si c pas le style de la maison d'aider directement sur du code

merci a tous

7 réponses

rubidium Messages postés 95 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
8 déc. 2003 à 14:40
SAlut,
Ca commence pas encore et c'est déjà compliqué ton truc! Si tu le donnais ton bout de code quon voit si on y peut quelque chose?


F F F
0
desolé pour le temps de reaction mais voila ce que sa donne:

int main(int argc, char **argv) {
0
desolé jai merde en tapant oups

int main (int argc, charr **argv) {
int child = fork();
int c = 5;

if(child == 0)
c += 5;

else {
child = fork();
c += 10;
if(child)
c += 5;
}
}

voila et ma question est combien ya til de copie de "c"
0
alors ya personne qui puisse me dire combien de copie de 'c' ya til ds se programme.

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gallagher Messages postés 5 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 9 décembre 2003
9 déc. 2003 à 11:44
slt mamie gateau,

bon, ca fait un bail que je n'ai pas fait de programmation systeme, mais voici ce que je peux te dire d'apres mes souvenirs:
fork() duplique le processus courant et cree un processus fils.Il y a donc bien plusieurs copie de 'c'. Tu effectue un fork() au debut de ton programme. On a donc une copie suplementaire de 'c'. Ensuite tu effectue un second fork() qd tu te trouves sur le pere (child != 0), ce qui nous fais une seconde copie. A mon avis, il y a donc deux copie de ta variable 'c', sans compter celle du processus initial, ce qui fait donc trois copie de 'c'.
Bon, ca demande tout de meme a etre confirme par qqun qui aurait des souvenirs un peu plus recents.... En tout cas bon courage, et d'avance excuse moi si je me suis trompe dans mes explications...

liam
Etudiant en info (EPITA)
0
gallagher Messages postés 5 Date d'inscription mardi 18 novembre 2003 Statut Membre Dernière intervention 9 décembre 2003
9 déc. 2003 à 11:44
slt mamie gateau,

bon, ca fait un bail que je n'ai pas fait de programmation systeme, mais voici ce que je peux te dire d'apres mes souvenirs:
fork() duplique le processus courant et cree un processus fils.Il y a donc bien plusieurs copie de 'c'. Tu effectue un fork() au debut de ton programme. On a donc une copie suplementaire de 'c'. Ensuite tu effectue un second fork() qd tu te trouves sur le pere (child != 0), ce qui nous fais une seconde copie. A mon avis, il y a donc deux copie de ta variable 'c', sans compter celle du processus initial, ce qui fait donc trois copie de 'c'.
Bon, ca demande tout de meme a etre confirme par qqun qui aurait des souvenirs un peu plus recents.... En tout cas bon courage, et d'avance excuse moi si je me suis trompe dans mes explications...

liam
Etudiant en info (EPITA)
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
10 déc. 2003 à 13:21
affirmatif, si moi aussi je ne me suis pas trompé.

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0