Projet de programmation en VC++6.0

hosni -  
turki.hassen Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je suis un etudient et j ai un projet de programmation d un "sniffer password" sur VC++6.0 je veux savoir svp comment fair un processus qui travaille en arriere plan ou bien 2 processus qui travaillent en meme temps.MERCI
A voir également:

3 réponses

baRALai
 
La solution est l'exclusion mutuelle par semaphore. Tu peux synchroniser plusieurs taches en parrallele pour calculer plusieurs taches en meme temps. POur cela, dans les options de compilation de Visual C++, tu choisie "debug Multitreaded". Apres dans le code il faut que t'ulise des semaphores. Par contre si tu c'est pas ce que c'est ou comment ca marche, il faudrait que tu regardes des cours de progs systems. POur t'expliquer par l'exemple (qui vaudra mieu qu'une longue explication) :
#include <conio.h>
#include <iostream>
using namespace std;
#include <mx.h>
#include <time.h>

#pragma comment(lib, "mxdbg.lib")

void affch(char *s)
{
while(*s) _putch(*s++);
}

SEMA s1(0,1);
SEMA s2(0,1);

int *tab;
int nb;

int r1 = 0;
int r2 = 0;


int TACHE P1(int c)
{
for(int i = 0;i < nb/2; i++)
{

r1 += tab[i];

}

s1.signal();

return 0;
}



int TACHE P2(int c)
{
for(int i = nb-1; i >= nb/2; i--)
{
r2 += tab[i];
}

s2.signal();

return 0;
}




int main()
{
char rep = 'o';

while (rep == 'o')
{
cout << "Entrer le nombre de postes ( entre 1 et 900000 ) : ";
cin >> nb;

tab = new int [nb];

srand(time(NULL));

for(int i = 0; i < nb; i++)
tab[i] = rand();

tache(1,P1);
tache(2,P2);

lance(1);
lance(2);

if(nb < 201)
{
cout << "Contenu du vecteur :\n";
for(int j=0; j < nb; j++)
{
if((j%9) == 0) cout << "\n";
cout << tab[j] << "\t";
}
}

s1.wait();
s2.wait();

int resul = r1 + r2;

cout << "\n\n\n" << r1 << " + " << r2 << " = " << resul << endl;


cout << "Recommencer (o/n) ? ";
cin >> rep;

tuetache(1);
tuetache(2);

}

return 0;
}
0
barARlai
 
POur ce prog, j'ai utiliser comme tu peux le voir une bibliotheque qui s'appelle MX et qui gere les semaphores.
Ce programme calcule la somme des données d'un tableau. La tache 1 parcours de gauche a droite, et la 2 inversement.
Une derniere chose, la syncro de plusieurs tache n'a d'interret que si tu possedes 2 proces ou un P4 Multithreaded !!!!
0
baRALai
 
je serais interresser de voir le source demon prog. Bonne continuation...
0
turki.hassen Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre intervention.
0