Probleme d'adresse

Résolu
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 - 22 févr. 2005 à 12:08
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 - 22 févr. 2005 à 18:23
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

cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
22 févr. 2005 à 18:23
ba ok merci je vai me documenter sur tout ca

Adeon
3
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
22 févr. 2005 à 12:31
Les 2 programmes s'exécutent dans 2 espaces d'adressages différents, il ne partage pas les variables de cette façon.
0
cs_Adeon Messages postés 293 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 10 avril 2015 2
22 févr. 2005 à 16:52
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
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
22 févr. 2005 à 17:03
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.
0
Rejoignez-nous