Pointer directement vers la memoire video (probleme de cast)

Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005 - 8 août 2003 à 03:11
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005 - 9 août 2003 à 23:33
Salut,

J'essais de declarer mon pointeur vers la memoire video comme suit

char *screen = (char *)0xA0000000L;

mais ca me donne le message d'erreur suivant : "Cannot cast from 'unsigned long' to 'char *' "

Quelqu'un a une idee?
J'utilise TC++ 3.0

Merci!
Darkneon

3 réponses

guiguikun Messages postés 92 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 1 octobre 2003 1
8 août 2003 à 03:57
unsigned long *screen = 0xA0000000L;

ou alors j'ai raté qqchose ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 août 2003 à 09:25
char *screen = 0xA0000000L; // est idem
quelque soit le type pour le pointeur, c'est toujours un 32 bits referencant une adresse. Difference est ensuite dans:
*screen = value, screen++ etc... sera interprete par le compilo suivant le type indique.
BruNews, ciao...
0
Darkneon Messages postés 56 Date d'inscription vendredi 18 mai 2001 Statut Membre Dernière intervention 13 décembre 2005
9 août 2003 à 23:33
J'ai teste mais vos reponses ne marche pas sous mon compilateur (TC++), il renvoit une erreur de cast.

C'est que j'ai trouve sur un autre site est

unsigned char far *screen = (char far *)0xA0000000L;

et ca marche.

Je crois que ca depend juste du compilateur.
0
Rejoignez-nous