在嵌入式目标上,我使用远指针来访问内存映射的某些部分。
near 指针(没有明确指定 __near):
无符号整数 *VariableOnePtr;
指向近端指针的指针:
无符号整数 **VariableOnePtrPtr;
远指针:
unsigned int *__far VariableTwoPtr;
声明指向远指针的指针的正确方法是什么?这个指针本身必须是远指针吗?
我相信你会这样做:
unsigned int * __far *VariableThreePtrPtr;
指向远指针的远指针将是:
unsigned int * __far * __far VariableFourPtrPtr;
“__far”是您平台的专有、非标准扩展,因此不存在任何通用方式来使用它。请参阅编译器和标准库制造商的手册以了解如何正确使用它。
您也可以为此使用 typedef,例如
typedef unsigned int *__far VariableTwoPtr_t;
VariableTwoPtr_t* VariableTwoPtrPtr;