Addressage memoire en c

Fermé
wqazerty - 13 mai 2008 à 20:26
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 14 mai 2008 à 12:12
Bonjour,
je voudrais une valeur de mon choix a une adresse memoire de mon choix en c.
Comment faire;
Merci

PS : je suis conscient des consequences.

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mai 2008 à 00:21
Salut,

Ben mettons que tu veuilles mettre la valeur 5 dans l'adresse 0xFF612332:
int *ptr = (int *) 0xFF612332;
*ptr = 5;


Bien évidemment, selon l'adresse que tu choisis, il y a 9 chances sur 10 que ton système d'exploitation t'envoie balader ;-)
0
sa marche pas. sa dit INCIDENT DE SEGMENTATION.

Que faire?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
14 mai 2008 à 12:12
Ben oui forcément ton système d'exploitation t'envoie balader. Une zone de mémoire prise au hasard a de très fortes chances de ne pas t'être allouée.

Je parie que tu croyais pouvoir adresser une zone de ta RAM directement, c'est bien ça?
En ce cas il faut que tu comprennes ce qu'est la mémoire virtuelle: https://fr.wikipedia.org/wiki/M%C3%A9moire_virtuelle
0