在嵌入式目標上,我使用遠指針來訪問內存映射的某些部分。聲明指向__far指針的正確方法是什麼?
近指針(不顯式地指定__near):
unsigned int *VariableOnePtr;
指針近指針:
unsigned int **VariableOnePtrPtr;
遠指針:
unsigned int *__far VariableTwoPtr;
什麼是一個指針申報到遠的正確方法指針?這個指針本身是否必須是一個遠指針?
在嵌入式目標上,我使用遠指針來訪問內存映射的某些部分。聲明指向__far指針的正確方法是什麼?
近指針(不顯式地指定__near):
unsigned int *VariableOnePtr;
指針近指針:
unsigned int **VariableOnePtrPtr;
遠指針:
unsigned int *__far VariableTwoPtr;
什麼是一個指針申報到遠的正確方法指針?這個指針本身是否必須是一個遠指針?
我相信你會做到這一點:
unsigned int * __far *VariableThreePtrPtr;
遠指針到遠指針是:
unsigned int * __far * __far VariableFourPtrPtr;
您也可以使用typedef爲,例如
typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;
「__far」是您的平臺的專有,非標準擴展,因此不能有任何通用的方式來使用它。有關如何正確使用它的信息,請參閱編譯器和標準庫製造商的手冊。