Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
981 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [c] l'affichage de ces mini programmes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c] l'affichage de ces mini programmes

n°2259823
napzizi
Posté le 06-06-2015 à 23:43:17  profilanswer
 

salut , j'ais besoin que quelqu’un m'explique le travail de ces programmes svp , sachant qu'ils ont était exécuté via Unix
http://zupimages.net/up/15/23/e8nd.png
http://zupimages.net/up/15/23/vc87.png
http://zupimages.net/up/15/23/5kjh.png
http://zupimages.net/up/15/23/2xv8.png
http://zupimages.net/up/15/23/z5hy.png

mood
Publicité
Posté le 06-06-2015 à 23:43:17  profilanswer
 

n°2259825
rat de com​bat
attention rongeur méchant!
Posté le 06-06-2015 à 23:45:01  profilanswer
 

Du code source sous forme d'images. On aura tout vu. :cry:  
 
(Autrement dit: Poste le code sous forme de texte avec les balises qui vont bien autour!)

n°2259827
napzizi
Posté le 06-06-2015 à 23:51:40  profilanswer
 

Code :
  1. #include<stdio.h>
  2. #include<sys/types.h>
  3. #include<errno.h>
  4. #include<unistd.h>
  5. #include<sys/wait.h>
  6. #include<stdlib.h>
  7. int i=2;
  8. int main()
  9. {
  10. int j=10;
  11. pid_t p;
  12. while ((i>=0) && (p=fork()))
  13. {i--;
  14. if(p<0)
  15. exit(1);}
  16. j+=2;
  17. if (p==0)
  18. {i*=3;
  19. j*=3;
  20. printf ("le flis i=%d , j=%d ",i,j);
  21. printf("\n" );
  22.  }
  23. else {
  24.  i*=2;
  25.  j*=2;
  26. printf ("le pere i=%d , j=%d ",i,j);
  27. printf("\n" );
  28.  }
  29. printf("\n" );
  30. return 0 ;
  31. }


Code :
  1. #include<stdio.h>
  2. #include<sys/types.h>
  3. #include<errno.h>
  4. #include<unistd.h>
  5. #include<sys/wait.h>
  6. #include<stdlib.h>
  7. int global;
  8. int main(){
  9.  pid_t child_pid;
  10.  int local=0;
  11.  child_pid=fork();
  12.  if (child_pid>=0){
  13.   if (child_pid==0){
  14.   printf("chield process:\n" );
  15.   local++;
  16.   global++;
  17.   printf("childpid :%d ,parent pid=%d\n",getpid              (),getppid());
  18.   printf("child local %d ,child global : %d\n" ,local , global);
  19.   system("who I am" );
  20.    }
  21.  else {
  22.   printf("parent process\n" );
  23.   printf(" parent pid ;%d , child pid : %d\n" , getpid(), child_pid);
  24.   wait(0) ;
  25.   printf(" end child" );
  26.   printf("parent's local:%d, parent's global : %d\n", local,global);
  27.   exit(0);
  28.   }
  29.  }
  30.  else
  31.  {perror("fork" ); exit(0);}
  32. return 0;


Code :
  1. #include <stdio.h>
  2. #include<unistd.h>
  3. int main(){
  4. pid_t pid;
  5. quisuisje="le pere";
  6. pid=fork();
  7. if(pid==0){
  8.  quisuisje="le fils";
  9.  printf("je suis le %s",quisuisje);
  10.  }
  11.  else{
  12.   printf("je suis %s",quisuisje);
  13.   wait(NULL);
  14.  }
  15. return 0;
  16. }


Code :
  1. #include<pthread.h>
  2. #include<unistd.h>
  3. #include<stdio.h>
  4. void *thread1(void *arg)
  5. {
  6. int i , j ;
  7. j=0 ;
  8. printf("thread1.1\n" );
  9. printf("thread1.2\n" );
  10. printf("thread1.3\n" );
  11. printf("thread1.4\n" );
  12. for(i=1;i<5;i++)
  13.  j=j+2;
  14. printf("fin thread1\n" );
  15. }
  16. void*thread2(void*arg)
  17. { int1,j;
  18. j=3;
  19. printf("thread2.1 %d " , getpid());
  20. printf("thread2.2\n" );
  21. printf("thread2.3\n" );
  22. printf("thread2.4\n" );
  23. for(i=1;j<5;i++)
  24.  j=j+2;
  25. printf("fin thread 2 \n" );
  26. }
  27. int main()
  28. {
  29. pthead_t p1,p2;
  30. printf(" je suis le pére mon if id" , getpid());
  31. pthread_create(&p1 , NULL , thread1 , NULL );
  32. pthread_create(&p2 , NULL , thread2 , NULL );
  33. if 1
  34. pthread_join (p1,NULL),
  35. pthread_join (p2,NULL),
  36. printf


Code :
  1. #include<stdio.h>
  2. #include<unistd.h>
  3. int main()
  4. {
  5. pid_t idfils;
  6. int i;
  7. for(i=0;i<3;i++){
  8. idfils=fork();
  9. if(idfils==0){
  10. printf("je suis le fils mon ID: %d et le ID de mon pere est: %d \n",getpid(),getppid());
  11. _exit(0);
  12. }
  13. else {
  14. printf("je suis le pere mon ID est: %d \n",getpid());
  15. }
  16. }
  17. return 0;
  18. }


voila

n°2259848
olivthill
Posté le 07-06-2015 à 20:17:26  profilanswer
 

Tous ces programmes utilisent la fonction fork().
 
C'est probablement elle que vous ne comprenez pas.
En résumé, elle permet d'avoir plusieurs programmes qui tournent (quasiment) en même temps.
Par exemple, un programme sur un serveur est sollicité quand un programme sur un poste client demande une connexion.
A ce moment, le programme sur le serveur va appeler la fonction fork(), pour que la gestion de la conversation avec le client se fasse en parallèle, de manière à ce que le programme principal soit tout de suite prêt à accepter une autre connexion, sans avoir à attendre la fin de la conversation qui vient de commencer.
Il y aura donc un programme global d'attente des demandes de connexion, et de zéro à plusieurs programmes de gestion des conversations qui tourneront en parallèle.
Le problème est qu'il existe des tas de subtilités concernant le parallélisme. Cela ne se fait pas obligatoirement avec fork(). C'est un vaste sujet.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [c] l'affichage de ces mini programmes

 

Sujets relatifs
Problème d'affichage de caractèreRecherche d'un caractère dans un tableau et affichage d'un message
Cliquer sur un menu déroulant + affichage instantanéprobleme d'affichage d'une seconde fenêtre
affichage par moisAffichage d'une date en format "dd-MM-yyyy"
Affichage sous-listeProbelme d'affichage html sur internet explorer
aide pour affichage dans un cadre donné "CSS"Probleme affichage Nginx <-> PHP
Plus de sujets relatifs à : [c] l'affichage de ces mini programmes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR