在嵌入式目标上,我使用远指针来访问内存映射的某些部分。
靠近指针(没有明确指定__near):
unsigned int *VariableOnePtr;
指向近指针的指针:
unsigned int **VariableOnePtrPtr;
远指针:
unsigned int *__far VariableTwoPtr;
声明指向远指针的指针的正确方法是什么?这个指针本身必须是一个远指针吗?
答案 0 :(得分:6)
我相信你会这样做:
unsigned int * __far *VariableThreePtrPtr;
指向远指针的远指针是:
unsigned int * __far * __far VariableFourPtrPtr;
答案 1 :(得分:3)
“__ far”是您平台的专有非标准扩展,因此不存在任何通用的方式来使用它。有关如何正确使用它的信息,请参阅编译器和标准库manufaturer的手册。
答案 2 :(得分:2)
您也可以使用typedef,例如
typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;