2008-10-23 148 views
3

在嵌入式目標上,我使用遠指針來訪問內存映射的某些部分。聲明指向__far指針的正確方法是什麼?

近指針(不顯式地指定__near):

unsigned int *VariableOnePtr;

指針近指針:

unsigned int **VariableOnePtrPtr;

遠指針:

unsigned int *__far VariableTwoPtr;

什麼是一個指針申報到遠的正確方法指針?這個指針本身是否必須是一個遠指針?

回答

6

我相信你會做到這一點:

unsigned int * __far *VariableThreePtrPtr; 

遠指針到遠指針是:

unsigned int * __far * __far VariableFourPtrPtr; 
2

您也可以使用typedef爲,例如

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

「__far」是您的平臺的專有,非標準擴展,因此不能有任何通用的方式來使用它。有關如何正確使用它的信息,請參閱編譯器和標準庫製造商的手冊。