Zwei Prozesse in C gleichzeitig ablaufen lassen

Hi!

Ich habe ein kleines Spiel(Weltraumsimulator) programmiert und habe ein Problem. Ich möchte zwei Prozesse(Laserschuss und Meteoriten) gleichzeitig ablaufen lassen, nur leider weiß ich nicht genau wie ich daß machen soll.
Ich hoffe jemand kann mir helfen!

MfG

Blackvirus :)
 
Das ist mit ANSI C nicht möglich. Du solltest posten welches Betriebsystem du benutzt.
 
Also da kenn ich mich leider nicht wirklich aus, aber google hat mir das gegeben. Von hier aus kannst du dir weiter Informationen hohlen.
 
mit fork und exec
wenn du nichts in den manual-pages findest, kann ich dir gern ein beispiel schreiben...

Aber dafür braucht man keine 2 Prozesse!! Das kannst du in einer schleife erledigen!
 
Ich glaub du meinst zwar was anderes aber einen neuen prozess starten geht so:

/* Prozess aufspalten (clonen) */
if(fork()) {
printf("Ich bin der Parent\n");
}
else {
printf("Ich bin das child!\n");
printf("Da ich das child bin, muss ich jetzt in mich selbst den neuen Task reinladen!\n");
/* Das geht so */
execl("programm2", "parameter", "parameter");
}

Aber das musst du nicht machen! Wenn du ein Game proggen willst, wo ein schuss und was anderes gleichzeitig fliegt, musst du doch keine Prozesse forken! Die meinsten Games haben nur 1 Prozess!!!

was du machen musst geht so:

/* Hauptschleife: */

while(spiel_ist_nicht_zu_ende) {
schuss_weiter_flieg_funktion();
ufo_weiter_flieg_funktion();
andere_wichtige_funktionen_aufrufen();
bildschirm_vollzeichnen();
}

Jedes mal in der Hauptschleife wird alles ein bisschen wieter bewegt und dann gezeichent! Du willst doch keine 2 Programme für ufo und schuss machen oder?!?
Und dazu würdest du auch noch shared memory benötigen!
 
Zurück
Oben