2008-10-23 7 views
3

Sur une cible incorporée, j'utilise des pointeurs éloignés pour accéder à certaines parties de la carte mémoire.Quelle est la manière correcte de déclarer un pointeur sur un pointeur __far?

pointeur près (sans __near explicitement préciser):

unsigned int *VariableOnePtr;

pointeur sur pointeur près de:

unsigned int **VariableOnePtrPtr;

pointeur loin:

unsigned int *__far VariableTwoPtr;

Quelle est la bonne façon de déclarer un pointeur vers un bien aiguille? Ce pointeur doit-il être un pointeur éloigné?

Répondre

6

Je crois que vous feriez ceci:

unsigned int * __far *VariableThreePtrPtr; 

Un pointeur loin d'un pointeur loin serait:

unsigned int * __far * __far VariableFourPtrPtr; 
2

Vous pouvez également utiliser typedefs pour que, par exemple

typedef unsigned int *__far VariableTwoPtr_t; 
VariableTwoPtr_t* VariableTwoPtrPtr; 
3

"__far" est une extension propriétaire non standard de votre plate-forme, il n'existe donc aucun moyen générique de l'utiliser. Voir les manuels du compilateur et du manuel de la bibliothèque standard pour savoir comment l'utiliser correctement.

Questions connexes