Adresses Mémoire des sondes - Matériels & problèmes divers - Hardware
Marsh Posté le 03-12-2013 à 11:18:16
Quelles addresses par curiosité?
Sinon, je ne connais pas ces valeurs mais il est possible quelle soit stockée dans une zone mémoire "protégée" par le system, ce qui expliquerait que tu te fasses renvoyer si tu essaies d'y acceder.
Comment y accèdes tu avec ton pointeur?
Marsh Posté le 03-12-2013 à 20:38:46
Sur Everest, j'ai récupéré un fichier texte "propriété de la sonde"
Les adresses que j'ai utilisées sont celles ci :
------[ LM78 ISA Sensor Device at 0290 ]------
0000 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF
0010 FF 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF
0020 FF 01 02 FF FF FF FF FF FF FF FF FF FF FF FF FF
0030 FF 1F 20 16 FF 1F FF 1F FF 1F FF 1F FF 1F FF 1F
0040 F7 1F FF 1F 02 02 02 02 02 FF FF FF FF FF 06 FF
0050 01 FF FF FF FF FF FF FF C1 FF FF FF FF E1 00 FF
0060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0080 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
0090 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00D0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00F0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Bnk0 01 FF FF FF FF FF FF FF C1 FF FF FF FF E1 00 FF
Bnk1 2A 00 00 4B 00 50 00 FF FF FF FF FF FF FF FF FF
Bnk2 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Bnk3 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Bnk4 00 73 FF FF 00 00 00 FF FF 1E 17 33 09 FF FF FF
Bnk5 D1 CD 00 FF 00 00 00 00 00 00 00 00 00 00 00 00
Bnk6 7F 7F 7F 7F FF FF 00 00 05 0A 00 00 00 00 00 00
J'ai essayé un peu de tout là dedans (^^" )
Pour le pointeur je fais ;
int (ou double)* pointeur=NULL;
pointeur=0x*adresse*
J'ai aussi essayé les adresses mémoire qu'on peut trouver dans msinfo32, j'ai pris les adresses des "ressources carte mère"
Marsh Posté le 04-12-2013 à 10:01:51
Et qu'est ce que le programme te renvoie quand tu essaies d'accèder a ces valeurs? Ce serait surprenant qu'il ne crash pas ^^
Je t'invite a réviser les accès mémoire en C car ta méthode d'accès n'est pas bonne
EDIT: allez je suis de bonne humeur :
Code :
|
Après rien ne garantie que windows t’autorise l'accès a cet espace mémoire, et la ça va être plus touchy.
Marsh Posté le 04-12-2013 à 18:45:06
Ah je ne connaissais pas cette méthode ^^
Merci bien !
Je n'ai que quelques notions en C... Je suis en train d'étudier ce langage
Pourquoi faut-il écrire *((char *) *adresse*) ?
Et effectivement, lorsque je lançais mon "programme", j'avais un message "... a cessé de fonctionner."
Marsh Posté le 05-12-2013 à 09:24:57
Kaidaten a écrit : Ah je ne connaissais pas cette méthode ^^ |
Qu'est ce qui a cessé de fonctionner? Car dans ce cas, si tu es "sur" de ces adresses, tu ne devrais pas avoir ce msg, la ca peut signifier que tu tapes dans l'espace d'adressage d'un autre processus...
Pour t'expliquer rapidement : En C, il n'y a pas de moyen direct d'accèder a une adresse donnée "en dure" (car c'est sale, à risque etc....) il faut donc trouver un moyen de contourner la méthode traditionnelle (malloc, free etc..)
Donc le (char *) @ est un cast implicite, precisant que l'addresse 0x123456 est de type pointeur sur caractère (1 bit) le *(lecast) signifie
que tu as un pointeur sur cette adresse. (je sais pas si c est très clair mais c'est pas si facile a explique....)
Si tu as que quelques notions en C, tu t'attaques à une partie bien au dessus de ton niveau actuellement, je t'invite à regarder les cours sur developpez.com notamment celui sur la gestion mémoire en C
Et petit conseil : code sous linux, tu auras bcp plus de facilité avec la mémoire qu'avec la gestion
Spoiler : desastreuse |
de celle ci sous windows
Marsh Posté le 05-12-2013 à 11:00:34
Ok je vais aller voir les cours sur developpez.com pour commencer
Merci pour ton aide !
Quant aux adresses, je ne suis pas sûr du tout. Je fais à tatillon ^^"
Marsh Posté le 02-12-2013 à 19:56:23
Bonsoir bonsoir,
Tout d'abord, je m'excuse si je me trompe d'endroit pour poser ma(mes) questions,
je ne savais pas trop où les poster...
Cela fait plusieurs heures que je cherche un moyen d'accéder aux adresses mémoire des sondes de mon pc (températures, vitesse des ventilos etc...)
C'est dans le but de me faire un petit programme style mini-aida64, que je peux mettre sur un périphérique (une espèce de mini écran de monitoring)
Pouvez vous m'aider svp ?
Les adresses que j'ai trouvées n'ont pas l'air de fonctionner... (après, c'était un banal code C avec un pointeur sur l'adresse et un printf de la valeur pointée, pas certain que ce soit très efficace...)
Merci d'avance !