Probleme d'adresse [Résolu]

Signaler
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
-
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
-
voila mon probleme:

j'ai cree 2 programmes
voila le premier :

int var = 0;

for(;;)
{
gotoxy(0,0);
printf("var ( adresse : %p) = %d ",&var,var); /*le programme ecrit l'adresse de var et son contenu*/
Sleep(1000); //petite pause pour eviter de "brusquer" le programme ( je sais ca sert a rien )
}

Lors de l'execution il m'ecrit cela :
var ( adresse : 0012ff7c ) = 0
( ca marche bien )

et voila maintenant le 2eme programme qui va s'executer pendant le travail de l'autre programme

__asm
{
mov dword ptr ds:[0012ff7ch],2 //mettre 2 dans l'adresse 0x0012ff7c
}

mais le probleme c'est que le 1er programme m'affiche toujours
var ( adresse : 0012ff7c ) = 0

alors qu'il devrai m'afficher
var ( adresse : 0012ff7c ) = 2
puisque j'ai mis la valeur 2 dans son adresse

voila, j'ai besoin de votre aide car je ne comprends vraiment pas.
Adeon

4 réponses

Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
ba ok merci je vai me documenter sur tout ca

Adeon
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Les 2 programmes s'exécutent dans 2 espaces d'adressages différents, il ne partage pas les variables de cette façon.
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
ok je comprends mais j'aimerai que deux programmes comuniques entre eux par l'intermediaire de variables ( pas par l'intermediaire d'ecriture dans des .ini ).
Comment le 2eme programme peut il mettrela valeur 2 ( par exemple) dans la variable "var" du premier programme.

Adeon
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Si sous windows, tu peux utiliser les FileMappings qui permettent de créer des zones mémoires partagées. Tu peux aussi communiquer par message (messages standard ou DDE) s'il n'y a que des valeurs entières à transférer. Si tu connait l'adresse exacte de la var, il y a également ReadProcessMemory et WriteProcessMemory.