CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

aide pour C: expliquez moi ce code svp!

Hei_le_Mod
Hei_le_Mod
Niveau 10
02 mai 2007 à 13:58:09

Bonjour qqn pourrait-il m´expliquer ce code?
Merci d´avance!

  1. include <stdio.h>

int forkret;

int main()
{

printf("Debug mesg 1.\n");
forkret = fork();
switch( forkret )
{
case 0: printf("Debug mesg 2. \n"); break;
default: printf("Debug mesg 3.\n"); break;
}
}

Fvirtman
Fvirtman
Niveau 10
02 mai 2007 à 14:02:05

C´est de la programmation parallele !

C´est a dire que, au moment du fork, il va se créer un 2e processus !

Donc si tu veux, le programme marche normalement, au moment du fork, il fait un "bébé" :) mais lui, il continue !
Le programme principale continue avec un "0" qui sort du fork, donc, dans ton switch, va passer dans le case 0, alors que le programme "bébé" si j´ose dire, va en fait etre un clone du programme principale, a l´instant du fork, et lui, va avoir un code différent pour le forkret, et donc passer dans le default.

tu vois ce que je veux dire ?

Hei_le_Mod
Hei_le_Mod
Niveau 10
02 mai 2007 à 15:16:08

sorry en fait je m´y connais pas en C j´ai travaille que sur java (mais ca ressemble un peu)...

fork() c´est une fonction? c´est cette ligne qui cree un bebe?

et la ligne
printf("Debug mesg 1.\n");

ca print quoi exactement?

godrik
godrik
Niveau 30
02 mai 2007 à 16:30:40

fvirtman, c´est l´inverse
le programme "normal" recoit le PID du "bébé" alors que le "bébé" recoit 0.

printf est une fonction d´entré sortie formaté.
ici elle écrit "Debug mesg 1." a l´écran et revient a la ligne.

Fvirtman
Fvirtman
Niveau 10
02 mai 2007 à 16:48:00

lol ! j´avais une chance sur deux :-)

Je ne savais plus si c´était le process fils qui recevait le PID de son pere, ou l´inverse :-)

Hei_le_Mod
Hei_le_Mod
Niveau 10
02 mai 2007 à 20:46:07

ah je comprends un peu mieux merci :)

Neofungamer
Neofungamer
Niveau 21
03 mai 2007 à 21:20:39

tu peux comparer ca au Threads de Java à la différence ou le flux d´exécution est divisé en deux en C car le fork créer des processus lourd et le flux d´execution n´est pas partagé

dnob700
dnob700
Niveau 10
03 mai 2007 à 21:31:31

le comparer à ces thread n´est pas une bonne idée, car il y a une énorme différence, bien plus importante que le partage du flux d´exécution (de toute manière sur un simple coeur, ça ne change rien), c´est lepartage de la mémoire dans le cas du Thread en java et pas dans le cas du fork en C.

Fvirtman
Fvirtman
Niveau 10
03 mai 2007 à 22:47:37

je precise qu´en C, il existe on peut créer plusieurs processus, mais aussi plusieurs threads, chacun ayant leurs avantages !

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment