Problemme de pointeur [Résolu]

Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
- - Dernière réponse : malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
- 11 juil. 2010 à 19:31
Bonjour a vous,donc je vous explique.



int main()
{
unsigned int *test=2293516;//l'adresse ou ce trouve la variale toto (prog2)




printf("%p %u %d",test,test,*test);//afiche le tout

*test=55;//change la valeur a l'adresse de toto (prog 2)

system("pause");
return 0;
}


-------------------------------------------------prog 2

int main()
{
int toto=300;//son adresse = .........


while(1)//on atend que le programme 1 change la valeur de toto (boucle infini).
{
printf("%d %p %d\n",toto,&toto,&toto);//pour savoir son adresse.
Sleep(100);
}
return 0;
}


Donc voila aprais cela la valeur de toto serais suposer changer mes ca ne marche pas meme ci je mes toujours la bonne adresse a chaque execution des programmes,donc coi faire?


merci de votre ecoute et a+.
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
11
3
Merci
Salut,

a plante ou ca ne marche pas.

C'est tout à fait normal. Si ton processus essaye d'accéder à de la mémoire qui appartient à quelqu'un d'autre, la conséquence sera de te prendre immédiatement un SIGPIPE dans la tronche. C'est normal et essayer de contourner ça est un extrêmement mauvaise idée directement liée à divers échecs cuisants. Comme l'a fait remarquer à très juste titre vecchio56, il existe de la mémoire partagée pour pouvoir partager de la mémoire entre plusieurs processus (regarde donc les pages de man des fonctions ftok, shmget, shmat, shmdt, shmctl, semget, semop, semctl, etc). Tu trouveras également d'autres moyens de communication entre les processus, communément appelés IPC.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TychoBrahe
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
3
Merci
Si tu as besoin d'écrire dans la mémoire d'un processus que tu ne maitrises pas (d'après ce que j'ai compris c'est ce que tu veux faire), la mémoire partagée ne répond pas à ton problème.
Pour pouvoir lire/écrire dans la mémoire d'un autre processus, regarde les fonctions ReadProcessMemory et WriteProcessMemory


_____________________________________
Un éditeur de ressources gratuit pour Windows

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
3
Merci
Un exemple sur MSDN


_____________________________________
Un éditeur de ressources gratuit pour Windows

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Bonjour,

L'espace d'adressage est propre à chaque processus, donc ton premier programme ne peut pas modifier une variable de prog2.
Si tu veux partager des données entre deux processus, tu peux utiliser par exemple de la mémoire partagée.


_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
je vais faire des recherche sur la memoire partager,mes sinon je voudrais plus faire comme cheat engine il change la valeur contenue dans l'adresse d'un X programme mes moi quand jessai ca plante ou ca ne marche pas.

Y a t'il donc pas un moyen pour modifier les adresses sans qu'il est de prob?
Commenter la réponse de malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
Je n'arive pas a trouver des truc potables sur la memoire partagee tu n'aurais pas des lien, et merci pour la reponce plus haut.
Commenter la réponse de malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
Dac merci je regarde ca et je tant di des nouvelles.
Commenter la réponse de malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
J'ais oublier un truc je suis sur windows ><.
Commenter la réponse de malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
Ses super merci ca marche nikel!

Hey mes pour la memoire partagee tu aurais pas un lien parce que je trouve pas sur Google et ca minteresse.


Merci a tous pour l'aide apporter a+.
Commenter la réponse de malefitrix
Messages postés
45
Date d'inscription
mercredi 24 février 2010
Statut
Membre
Dernière intervention
27 juillet 2011
0
Merci
MERCI
Commenter la réponse de malefitrix